home *** CD-ROM | disk | FTP | other *** search
/ MacTech 1 to 12 / MacTech-vol-1-12.toast / Source / MacTech® Magazine / Volume 02 - 1986 / 02.05 May 86.sit / 02.05 May 86 / asm May 86 / BitNapper Source / bitnapper.asm next >
MacBinary  |  1986-04-18  |  13.3 KB  |  [TEXT/EDIT]

open in: MacOS 8.1     |     Win98     |     DOS

browse contents    |     view JSON data     |     view as text


This file was processed as: MacBinary (archive/macBinary).

ConfidenceProgramDetectionMatch TypeSupport
10% dexvert MacBinary (archive/macBinary) fallback Supported
1% dexvert Text File (text/txt) fallback Supported
100% file MacBinary II, inited, Fri Apr 18 09:16:08 1986, modified Fri Apr 18 09:16:08 1986, creator Macintosh Edit, type ASCII, 13047 bytes "bitnapper.asm" Generic INItialization configuration [handle], at 0x3377 348 bytes resource Generic INItialization configuration [handle] default (weak)
99% file data default
74% TrID Macintosh plain text (MacBinary) default
25% TrID MacBinary 2 default (weak)
100% siegfried fmt/1762 MacBinary (II) default
100% lsar MacBinary default


id metadata
keyvalue
macFileType[TEXT]
macFileCreator[EDIT]



hex view
+--------+-------------------------+-------------------------+--------+--------+
|00000000| 00 0d 62 69 74 6e 61 70 | 70 65 72 2e 61 73 6d 00 |..bitnap|per.asm.|
|00000010| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000020| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000030| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000040| 00 54 45 58 54 45 44 49 | 54 01 00 00 00 00 00 00 |.TEXTEDI|T.......|
|00000050| 00 00 00 00 00 32 f7 00 | 00 01 5c 9a cc 07 a8 9a |.....2..|..\.....|
|00000060| cc 07 a8 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|00000070| 00 00 00 00 00 00 00 00 | 00 00 81 81 20 e9 00 00 |........|.... ...|
|00000080| 3b 0d 3b 20 20 20 20 20 | 20 42 69 74 4e 61 70 70 |;.; | BitNapp|
|00000090| 65 72 0d 3b 20 20 20 20 | 62 79 20 43 68 72 69 73 |er.; |by Chris|
|000000a0| 20 59 65 72 67 61 0d 3b | 0d 0d 52 45 53 4f 55 52 | Yerga.;|..RESOUR|
|000000b0| 43 45 20 27 44 52 56 52 | 27 20 32 37 20 27 42 69 |CE 'DRVR|' 27 'Bi|
|000000c0| 74 4e 61 70 70 65 72 27 | 0d 0d 49 4e 43 4c 55 44 |tNapper'|..INCLUD|
|000000d0| 45 09 4d 61 63 54 72 61 | 70 73 2e 44 0d 2e 54 52 |E.MacTra|ps.D..TR|
|000000e0| 41 50 09 5f 4d 61 6b 65 | 46 69 6c 65 09 24 41 30 |AP._Make|File.$A0|
|000000f0| 30 38 0d 0d 4d 41 43 52 | 4f 09 43 65 6e 74 65 72 |08..MACR|O.Center|
|00000100| 09 53 74 72 69 6e 67 2c | 4d 69 64 50 74 2c 59 20 |.String,|MidPt,Y |
|00000110| 3d 0d 09 0d 09 4c 45 41 | 09 27 7b 53 74 72 69 6e |=....LEA|.'{Strin|
|00000120| 67 7d 27 2c 41 33 09 3b | 67 65 74 20 73 74 72 69 |g}',A3.;|get stri|
|00000130| 6e 67 50 74 72 0d 09 4d | 4f 56 45 2e 4c 09 23 7b |ngPtr..M|OVE.L.#{|
|00000140| 4d 69 64 50 74 7d 2c 44 | 34 0d 09 4d 4f 56 45 09 |MidPt},D|4..MOVE.|
|00000150| 23 7b 59 7d 2c 44 35 0d | 09 42 53 52 09 43 65 6e |#{Y},D5.|.BSR.Cen|
|00000160| 74 65 72 54 65 78 74 0d | 09 7c 0d 09 0d 4d 41 43 |terText.|.|...MAC|
|00000170| 52 4f 09 45 72 72 43 68 | 65 63 6b 20 3d 0d 09 0d |RO.ErrCh|eck =...|
|00000180| 09 54 53 54 2e 4c 09 44 | 30 09 09 3b 65 72 72 6f |.TST.L.D|0..;erro|
|00000190| 72 20 63 6f 64 65 3f 0d | 09 42 4e 45 09 49 4f 45 |r code?.|.BNE.IOE|
|000001a0| 72 72 09 09 3b 79 65 73 | 2e 2e 2e 73 68 6f 77 20 |rr..;yes|...show |
|000001b0| 61 20 64 69 61 6c 6f 67 | 0d 09 7c 0d 09 0d 3b 20 |a dialog|..|...; |
|000001c0| 20 50 72 6f 67 72 61 6d | 20 63 6f 6e 73 74 61 6e | Program| constan|
|000001d0| 74 73 20 2d 2d 2d 2d 0d | 43 68 69 63 61 67 6f 09 |ts ----.|Chicago.|
|000001e0| 09 45 51 55 09 30 0d 47 | 65 6e 65 76 61 09 09 45 |.EQU.0.G|eneva..E|
|000001f0| 51 55 09 33 0d 61 63 63 | 4d 65 6e 75 09 09 45 51 |QU.3.acc|Menu..EQ|
|00000200| 55 09 36 37 09 3b 65 76 | 65 6e 74 20 63 6f 64 65 |U.67.;ev|ent code|
|00000210| 20 66 6f 72 20 61 20 4d | 65 6e 75 20 65 76 65 6e | for a M|enu even|
|00000220| 74 0d 63 73 43 6f 64 65 | 09 09 45 51 55 09 32 36 |t.csCode|..EQU.26|
|00000230| 09 3b 63 6e 74 72 6c 20 | 63 6f 64 65 20 6f 66 66 |.;cntrl |code off|
|00000240| 73 65 74 20 69 6e 20 50 | 61 72 61 6d 42 6c 6f 63 |set in P|aramBloc|
|00000250| 6b 0d 73 63 72 65 65 6e | 42 69 74 73 09 45 51 55 |k.screen|Bits.EQU|
|00000260| 09 24 46 46 46 46 46 46 | 38 36 20 20 3b 5b 42 69 |.$FFFFFF|86 ;[Bi|
|00000270| 74 4d 61 70 5d 0d 64 43 | 74 6c 53 74 6f 72 61 67 |tMap].dC|tlStorag|
|00000280| 65 09 45 51 55 09 24 31 | 34 09 20 3b 64 72 69 76 |e.EQU.$1|4. ;driv|
|00000290| 65 72 27 73 20 70 72 69 | 76 61 74 65 20 73 74 6f |er's pri|vate sto|
|000002a0| 72 61 67 65 20 5b 68 61 | 6e 64 6c 65 5d 0d 64 43 |rage [ha|ndle].dC|
|000002b0| 74 6c 52 65 66 4e 75 6d | 09 45 51 55 09 24 31 38 |tlRefNum|.EQU.$18|
|000002c0| 09 3b 72 65 66 4e 75 6d | 20 6f 66 20 74 68 69 73 |.;refNum| of this|
|000002d0| 20 64 72 69 76 65 72 20 | 5b 77 6f 72 64 5d 0d 64 | driver |[word].d|
|000002e0| 43 74 6c 57 69 6e 64 6f | 77 09 45 51 55 09 24 31 |CtlWindo|w.EQU.$1|
|000002f0| 45 09 20 3b 64 72 69 76 | 65 72 27 73 20 77 69 6e |E. ;driv|er's win|
|00000300| 64 6f 77 20 28 69 66 20 | 61 6e 79 29 20 5b 70 6f |dow (if |any) [po|
|00000310| 69 6e 74 65 72 5d 0d 4a | 49 4f 44 6f 6e 65 09 45 |inter].J|IODone.E|
|00000320| 51 55 09 24 38 46 43 09 | 20 3b 49 4f 44 6f 6e 65 |QU.$8FC.| ;IODone|
|00000330| 20 65 6e 74 72 79 20 6c | 6f 63 61 74 69 6f 6e 20 | entry l|ocation |
|00000340| 5b 70 6f 69 6e 74 65 72 | 5d 0d 0d 53 74 61 72 74 |[pointer|]..Start|
|00000350| 3a 0d 09 09 44 43 2e 57 | 09 24 34 34 30 30 09 3b |:...DC.W|.$4400.;|
|00000360| 63 74 6c 2d 65 6e 61 62 | 6c 65 20 26 20 6c 6f 63 |ctl-enab|le & loc|
|00000370| 6b 20 69 74 0d 09 09 44 | 43 2e 57 09 30 09 3b 64 |k it...D|C.W.0.;d|
|00000380| 6f 65 73 6e 27 74 20 6e | 65 65 64 20 74 69 6d 65 |oesn't n|eed time|
|00000390| 0d 09 09 44 43 2e 57 09 | 24 30 30 30 30 09 3b 6e |...DC.W.|$0000.;n|
|000003a0| 6f 20 65 76 65 6e 74 73 | 0d 4d 65 6e 75 49 44 3a |o events|.MenuID:|
|000003b0| 09 09 44 43 2e 57 09 2d | 31 32 35 34 38 09 3b 6d |..DC.W.-|12548.;m|
|000003c0| 65 6e 75 0d 0d 09 44 43 | 2e 57 09 4f 70 65 6e 2d |enu...DC|.W.Open-|
|000003d0| 53 74 61 72 74 09 3b 20 | 6f 70 65 6e 20 72 6f 75 |Start.; |open rou|
|000003e0| 74 69 6e 65 0d 09 44 43 | 2e 57 09 4e 75 6c 6c 2d |tine..DC|.W.Null-|
|000003f0| 53 74 61 72 74 09 3b 20 | 70 72 69 6d 65 20 2d 20 |Start.; |prime - |
|00000400| 75 6e 75 73 65 64 0d 09 | 44 43 2e 57 09 43 6f 6e |unused..|DC.W.Con|
|00000410| 74 72 6f 6c 2d 53 74 61 | 72 74 09 3b 20 63 6f 6e |trol-Sta|rt.; con|
|00000420| 74 72 6f 6c 0d 09 44 43 | 2e 57 09 4e 75 6c 6c 2d |trol..DC|.W.Null-|
|00000430| 53 74 61 72 74 09 3b 20 | 73 74 61 74 75 73 20 2d |Start.; |status -|
|00000440| 20 75 6e 75 73 65 64 0d | 09 44 43 2e 57 09 43 6c | unused.|.DC.W.Cl|
|00000450| 6f 73 65 2d 53 74 61 72 | 74 09 3b 20 63 6c 6f 73 |ose-Star|t.; clos|
|00000460| 65 0d 2e 41 4c 49 47 4e | 09 32 0d 4f 70 65 6e 3a |e..ALIGN|.2.Open:|
|00000470| 0d 09 4d 4f 56 45 4d 2e | 4c 20 41 30 2d 41 36 2f |..MOVEM.|L A0-A6/|
|00000480| 44 30 2d 44 37 2c 2d 28 | 53 50 29 20 09 3b 53 61 |D0-D7,-(|SP) .;Sa|
|00000490| 76 65 20 74 68 65 20 72 | 65 67 69 73 74 65 72 73 |ve the r|egisters|
|000004a0| 0d 09 4d 4f 56 45 2e 4c | 09 41 31 2c 41 34 09 09 |..MOVE.L|.A1,A4..|
|000004b0| 3b 67 65 74 20 61 20 63 | 6f 70 79 20 6f 66 20 74 |;get a c|opy of t|
|000004c0| 68 65 20 44 43 45 20 69 | 6e 20 41 34 0d 0d 09 3b |he DCE i|n A4...;|
|000004d0| 43 68 65 63 6b 20 69 66 | 20 77 65 20 61 6c 72 65 |Check if| we alre|
|000004e0| 61 64 79 20 68 61 76 65 | 20 61 20 6d 65 6e 75 2e |ady have| a menu.|
|000004f0| 0d 09 3b 49 66 20 6f 6e | 65 20 65 78 69 73 74 73 |..;If on|e exists|
|00000500| 2c 20 69 74 73 20 68 61 | 6e 64 6c 65 20 77 6f 75 |, its ha|ndle wou|
|00000510| 6c 64 20 62 65 20 73 74 | 6f 72 65 64 20 69 6e 20 |ld be st|ored in |
|00000520| 64 43 74 6c 53 74 6f 72 | 61 67 65 0d 09 3b 4f 74 |dCtlStor|age..;Ot|
|00000530| 68 65 72 77 69 73 65 2c | 20 20 64 43 74 6c 53 74 |herwise,| dCtlSt|
|00000540| 6f 72 61 67 65 20 77 6f | 75 6c 64 20 62 65 20 4e |orage wo|uld be N|
|00000550| 49 4c 0d 09 0d 09 54 53 | 54 2e 4c 09 44 43 74 6c |IL....TS|T.L.DCtl|
|00000560| 53 74 6f 72 61 67 65 28 | 41 34 29 09 09 0d 09 42 |Storage(|A4)....B|
|00000570| 4e 45 09 52 65 73 74 6f | 72 65 09 09 3b 77 65 20 |NE.Resto|re..;we |
|00000580| 68 61 76 65 20 6f 6e 65 | 2e 2e 2e 73 6b 69 70 20 |have one|...skip |
|00000590| 74 68 69 73 20 63 6f 64 | 65 0d 0d 09 3b 4f 4b 2e |this cod|e...;OK.|
|000005a0| 20 57 65 20 6e 65 65 64 | 20 74 6f 20 63 72 65 61 | We need| to crea|
|000005b0| 74 65 20 6f 75 72 20 6d | 65 6e 75 3a 0d 0d 09 43 |te our m|enu:...C|
|000005c0| 4c 52 2e 4c 09 2d 28 53 | 50 29 09 09 3b 72 6f 6f |LR.L.-(S|P)..;roo|
|000005d0| 6d 20 66 6f 72 20 6d 65 | 6e 75 20 68 61 6e 64 6c |m for me|nu handl|
|000005e0| 65 0d 09 4c 45 41 09 4d | 65 6e 75 49 44 2c 41 30 |e..LEA.M|enuID,A0|
|000005f0| 0d 09 4d 4f 56 45 09 28 | 41 30 29 2c 2d 28 53 50 |..MOVE.(|A0),-(SP|
|00000600| 29 09 3b 6d 65 6e 75 20 | 49 44 0d 09 50 45 41 09 |).;menu |ID..PEA.|
|00000610| 27 42 69 74 4e 61 70 70 | 65 72 27 09 3b 6d 65 6e |'BitNapp|er'.;men|
|00000620| 75 20 74 69 74 6c 65 0d | 09 5f 4e 65 77 4d 65 6e |u title.|._NewMen|
|00000630| 75 0d 09 4d 4f 56 45 2e | 4c 09 28 53 50 29 2c 64 |u..MOVE.|L.(SP),d|
|00000640| 43 74 6c 53 74 6f 72 61 | 67 65 28 41 34 29 09 3b |CtlStora|ge(A4).;|
|00000650| 73 61 76 65 20 68 61 6e | 64 6c 65 2c 20 20 6f 6e |save han|dle, on|
|00000660| 20 73 74 61 63 6b 0d 09 | 50 45 41 09 27 53 74 65 | stack..|PEA.'Ste|
|00000670| 61 6c 20 42 69 74 73 3b | 57 6f 72 64 20 43 6f 6e |al Bits;|Word Con|
|00000680| 73 74 72 61 69 6e 74 3b | 41 62 6f 75 74 20 42 69 |straint;|About Bi|
|00000690| 74 4e 61 70 70 65 72 3b | 2d 3b 51 75 69 74 27 0d |tNapper;|-;Quit'.|
|000006a0| 09 5f 41 70 70 65 6e 64 | 4d 65 6e 75 0d 09 4d 4f |._Append|Menu..MO|
|000006b0| 56 45 2e 4c 09 64 43 74 | 6c 53 74 6f 72 61 67 65 |VE.L.dCt|lStorage|
|000006c0| 28 41 34 29 2c 2d 28 53 | 50 29 09 3b 70 75 73 68 |(A4),-(S|P).;push|
|000006d0| 20 68 61 6e 64 6c 65 0d | 09 43 4c 52 09 2d 28 53 | handle.|.CLR.-(S|
|000006e0| 50 29 09 09 3b 70 75 74 | 20 61 74 20 74 68 65 20 |P)..;put| at the |
|000006f0| 65 6e 64 20 6f 66 20 6d | 65 6e 75 20 62 61 72 0d |end of m|enu bar.|
|00000700| 09 5f 49 6e 73 65 72 74 | 4d 65 6e 75 0d 09 4d 4f |._Insert|Menu..MO|
|00000710| 56 45 2e 4c 09 64 43 74 | 6c 53 74 6f 72 61 67 65 |VE.L.dCt|lStorage|
|00000720| 28 41 34 29 2c 2d 28 53 | 50 29 09 3b 6d 65 6e 75 |(A4),-(S|P).;menu|
|00000730| 20 68 61 6e 64 6c 65 0d | 09 4d 4f 56 45 09 23 34 | handle.|.MOVE.#4|
|00000740| 2c 2d 28 53 50 29 09 09 | 3b 69 74 65 6d 20 23 33 |,-(SP)..|;item #3|
|00000750| 0d 09 5f 44 69 73 61 62 | 6c 65 49 74 65 6d 09 09 |.._Disab|leItem..|
|00000760| 09 3b 64 69 73 61 62 6c | 65 20 69 74 0d 09 5f 44 |.;disabl|e it.._D|
|00000770| 72 61 77 4d 65 6e 75 42 | 61 72 09 09 09 3b 64 72 |rawMenuB|ar...;dr|
|00000780| 61 77 20 74 68 65 20 6e | 65 77 20 6d 65 6e 75 42 |aw the n|ew menuB|
|00000790| 61 72 0d 09 0d 52 65 73 | 74 6f 72 65 3a 0d 09 4d |ar...Res|tore:..M|
|000007a0| 4f 56 45 4d 2e 4c 20 28 | 53 50 29 2b 2c 41 30 2d |OVEM.L (|SP)+,A0-|
|000007b0| 41 36 2f 44 30 2d 44 37 | 09 3b 20 72 65 73 74 6f |A6/D0-D7|.; resto|
|000007c0| 72 65 20 72 65 67 73 0d | 4e 75 6c 6c 3a 0d 09 4d |re regs.|Null:..M|
|000007d0| 4f 56 45 09 23 30 2c 44 | 30 09 09 09 3b 72 65 74 |OVE.#0,D|0...;ret|
|000007e0| 75 72 6e 20 6e 6f 45 72 | 72 0d 09 52 54 53 09 09 |urn noEr|r..RTS..|
|000007f0| 09 09 3b 61 6e 64 20 72 | 65 74 75 72 6e 2e 2e 2e |..;and r|eturn...|
|00000800| 0d 0d 43 6c 6f 73 65 3a | 0d 09 4d 4f 56 45 4d 2e |..Close:|..MOVEM.|
|00000810| 4c 20 41 30 2d 41 36 2f | 44 30 2d 44 37 2c 2d 28 |L A0-A6/|D0-D7,-(|
|00000820| 53 50 29 09 3b 73 61 76 | 65 20 72 65 67 69 73 74 |SP).;sav|e regist|
|00000830| 65 72 73 0d 09 4d 4f 56 | 45 2e 4c 09 41 31 2c 41 |ers..MOV|E.L.A1,A|
|00000840| 34 09 09 09 3b 63 6f 70 | 79 20 44 43 45 20 74 6f |4...;cop|y DCE to|
|00000850| 20 41 34 0d 09 0d 09 4c | 45 41 09 4d 65 6e 75 49 | A4....L|EA.MenuI|
|00000860| 44 2c 41 30 09 09 3b 47 | 65 74 20 74 68 65 20 4d |D,A0..;G|et the M|
|00000870| 65 6e 75 20 49 44 0d 09 | 4d 4f 56 45 09 28 41 30 |enu ID..|MOVE.(A0|
|00000880| 29 2c 2d 28 53 50 29 09 | 09 3b 72 65 6d 6f 76 65 |),-(SP).|.;remove|
|00000890| 20 6d 65 6e 75 20 66 72 | 6f 6d 20 6c 69 73 74 0d | menu fr|om list.|
|000008a0| 09 5f 44 65 6c 65 74 65 | 4d 65 6e 75 09 09 3b 4d |._Delete|Menu..;M|
|000008b0| 65 6e 75 48 61 6e 64 6c | 65 20 73 74 6f 72 65 64 |enuHandl|e stored|
|000008c0| 20 69 6e 20 64 43 74 6c | 53 74 6f 72 61 67 65 0d | in dCtl|Storage.|
|000008d0| 09 4d 4f 56 45 2e 4c 09 | 44 43 74 6c 53 74 6f 72 |.MOVE.L.|DCtlStor|
|000008e0| 61 67 65 28 41 34 29 2c | 2d 28 53 50 29 09 0d 09 |age(A4),|-(SP)...|
|000008f0| 5f 44 69 73 70 6f 73 4d | 65 6e 75 09 09 09 3b 66 |_DisposM|enu...;f|
|00000900| 72 65 65 20 75 70 20 69 | 74 73 20 6d 65 6d 6f 72 |ree up i|ts memor|
|00000910| 79 0d 09 5f 44 72 61 77 | 4d 65 6e 75 42 61 72 09 |y.._Draw|MenuBar.|
|00000920| 09 09 3b 64 72 61 77 20 | 74 68 65 20 6d 65 6e 75 |..;draw |the menu|
|00000930| 62 61 72 20 0d 09 43 4c | 52 2e 4c 09 44 43 74 6c |bar ..CL|R.L.DCtl|
|00000940| 53 74 6f 72 61 67 65 28 | 41 34 29 09 09 3b 72 65 |Storage(|A4)..;re|
|00000950| 6d 6f 76 65 20 4d 65 6e | 75 48 61 6e 64 6c 65 0d |move Men|uHandle.|
|00000960| 09 0d 09 4d 4f 56 45 4d | 2e 4c 20 28 53 50 29 2b |...MOVEM|.L (SP)+|
|00000970| 2c 41 30 2d 41 36 2f 44 | 30 2d 44 37 09 3b 72 65 |,A0-A6/D|0-D7.;re|
|00000980| 73 74 6f 72 65 20 72 65 | 67 73 0d 09 4d 4f 56 45 |store re|gs..MOVE|
|00000990| 09 23 30 2c 44 30 09 09 | 09 3b 72 65 74 75 72 6e |.#0,D0..|.;return|
|000009a0| 20 6e 6f 45 72 72 0d 09 | 52 54 53 09 09 09 09 3b | noErr..|RTS....;|
|000009b0| 61 6e 64 20 72 65 74 75 | 72 6e 2e 2e 2e 0d 0d 43 |and retu|rn.....C|
|000009c0| 6f 6e 74 72 6f 6c 3a 0d | 09 4d 4f 56 45 4d 2e 4c |ontrol:.|.MOVEM.L|
|000009d0| 20 41 30 2d 41 36 2f 44 | 30 2d 44 37 2c 2d 28 53 | A0-A6/D|0-D7,-(S|
|000009e0| 50 29 09 3b 73 61 76 65 | 20 72 65 67 69 73 74 65 |P).;save| registe|
|000009f0| 72 73 0d 09 4d 4f 56 45 | 2e 4c 09 41 31 2c 41 34 |rs..MOVE|.L.A1,A4|
|00000a00| 09 09 09 3b 63 6f 70 79 | 20 44 43 45 20 70 6f 69 |...;copy| DCE poi|
|00000a10| 6e 74 65 72 20 74 6f 20 | 41 34 0d 09 4d 4f 56 45 |nter to |A4..MOVE|
|00000a20| 09 63 73 43 6f 64 65 28 | 41 30 29 2c 44 30 09 09 |.csCode(|A0),D0..|
|00000a30| 3b 20 67 65 74 20 74 68 | 65 20 63 6f 6e 74 72 6f |; get th|e contro|
|00000a40| 6c 20 6f 70 43 6f 64 65 | 0d 09 43 4d 50 09 23 61 |l opCode|..CMP.#a|
|00000a50| 63 63 4d 65 6e 75 2c 44 | 30 09 09 3b 20 69 73 20 |ccMenu,D|0..; is |
|00000a60| 69 74 20 61 20 6d 65 6e | 75 20 65 76 65 6e 74 3f |it a men|u event?|
|00000a70| 0d 09 42 45 51 09 44 6f | 43 74 6c 45 76 65 6e 74 |..BEQ.Do|CtlEvent|
|00000a80| 09 09 3b 20 79 65 73 2c | 20 64 6f 20 69 74 2e 2e |..; yes,| do it..|
|00000a90| 2e 0d 0d 43 74 6c 44 6f | 6e 65 3a 0d 09 4d 4f 56 |...CtlDo|ne:..MOV|
|00000aa0| 45 4d 2e 4c 20 28 53 50 | 29 2b 2c 41 30 2d 41 36 |EM.L (SP|)+,A0-A6|
|00000ab0| 2f 44 30 2d 44 37 09 3b | 72 65 73 74 6f 72 65 20 |/D0-D7.;|restore |
|00000ac0| 74 68 65 20 72 65 67 69 | 73 74 65 72 73 0d 09 4d |the regi|sters..M|
|00000ad0| 4f 56 45 09 23 30 2c 44 | 30 09 09 09 3b 20 72 65 |OVE.#0,D|0...; re|
|00000ae0| 74 75 72 6e 20 6e 6f 20 | 65 72 72 6f 72 0d 09 4d |turn no |error..M|
|00000af0| 4f 56 45 2e 4c 09 4a 49 | 4f 44 6f 6e 65 2c 2d 28 |OVE.L.JI|ODone,-(|
|00000b00| 53 50 29 09 09 3b 20 6a | 75 6d 70 20 74 6f 20 49 |SP)..; j|ump to I|
|00000b10| 4f 44 6f 6e 65 0d 09 52 | 54 53 0d 0d 44 6f 43 74 |ODone..R|TS..DoCt|
|00000b20| 6c 45 76 65 6e 74 3a 0d | 09 43 4d 50 09 23 31 2c |lEvent:.|.CMP.#1,|
|00000b30| 33 30 28 41 30 29 09 3b | 69 73 20 69 74 20 53 74 |30(A0).;|is it St|
|00000b40| 65 61 6c 20 42 69 74 73 | 3f 0d 09 42 45 51 09 47 |eal Bits|?..BEQ.G|
|00000b50| 65 74 42 69 74 73 0d 09 | 43 4d 50 09 23 35 2c 33 |etBits..|CMP.#5,3|
|00000b60| 30 28 41 30 29 09 3b 69 | 73 20 69 74 20 71 75 69 |0(A0).;i|s it qui|
|00000b70| 74 3f 0d 09 42 45 51 09 | 49 74 73 51 75 69 74 0d |t?..BEQ.|ItsQuit.|
|00000b80| 09 43 4d 50 09 23 32 2c | 33 30 28 41 30 29 09 3b |.CMP.#2,|30(A0).;|
|00000b90| 69 73 20 69 74 20 63 6f | 6e 73 74 72 61 69 6e 3f |is it co|nstrain?|
|00000ba0| 0d 09 42 45 51 09 43 6f | 6e 73 74 72 61 69 6e 0d |..BEQ.Co|nstrain.|
|00000bb0| 09 43 4d 50 09 23 33 2c | 33 30 28 41 30 29 09 3b |.CMP.#3,|30(A0).;|
|00000bc0| 69 73 20 69 74 20 41 62 | 6f 75 74 3f 0d 09 42 45 |is it Ab|out?..BE|
|00000bd0| 51 09 41 62 6f 75 74 0d | 09 42 52 41 09 43 74 6c |Q.About.|.BRA.Ctl|
|00000be0| 44 6f 6e 65 0d 09 0d 41 | 62 6f 75 74 3a 0d 09 43 |Done...A|bout:..C|
|00000bf0| 4c 52 2e 4c 09 2d 28 53 | 50 29 09 09 3b 72 6f 6f |LR.L.-(S|P)..;roo|
|00000c00| 6d 20 66 6f 72 20 57 69 | 6e 64 6f 77 50 74 72 0d |m for Wi|ndowPtr.|
|00000c10| 09 43 4c 52 2e 4c 09 2d | 28 53 50 29 09 09 3b 61 |.CLR.L.-|(SP)..;a|
|00000c20| 6c 6c 6f 63 61 74 65 20 | 73 74 6f 72 61 67 65 20 |llocate |storage |
|00000c30| 69 6e 20 68 65 61 70 0d | 09 50 45 41 09 57 69 6e |in heap.|.PEA.Win|
|00000c40| 64 6f 77 52 65 63 74 09 | 3b 62 6f 75 6e 64 73 0d |dowRect.|;bounds.|
|00000c50| 09 50 45 41 09 27 54 69 | 74 6c 65 3f 27 09 3b 74 |.PEA.'Ti|tle?'.;t|
|00000c60| 69 74 6c 65 2e 2e 75 6e | 75 73 65 64 0d 09 4d 4f |itle..un|used..MO|
|00000c70| 56 45 09 23 24 30 31 30 | 31 2c 2d 28 53 50 29 09 |VE.#$010|1,-(SP).|
|00000c80| 3b 76 69 73 69 62 6c 65 | 0d 09 4d 4f 56 45 09 23 |;visible|..MOVE.#|
|00000c90| 31 2c 2d 28 53 50 29 09 | 3b 64 69 61 6c 6f 67 2d |1,-(SP).|;dialog-|
|00000ca0| 73 74 79 6c 65 20 77 69 | 6e 64 6f 77 0d 09 4d 4f |style wi|ndow..MO|
|00000cb0| 56 45 2e 4c 09 23 2d 31 | 2c 2d 28 53 50 29 09 3b |VE.L.#-1|,-(SP).;|
|00000cc0| 70 75 74 20 69 74 20 69 | 6e 20 66 72 6f 6e 74 0d |put it i|n front.|
|00000cd0| 09 43 4c 52 09 2d 28 53 | 50 29 09 09 3b 6e 6f 47 |.CLR.-(S|P)..;noG|
|00000ce0| 6f 41 77 61 79 0d 09 43 | 4c 52 2e 4c 09 2d 28 53 |oAway..C|LR.L.-(S|
|00000cf0| 50 29 09 09 3b 72 65 66 | 63 6f 6e 0d 09 5f 4e 65 |P)..;ref|con.._Ne|
|00000d00| 77 57 69 6e 64 6f 77 0d | 09 4d 4f 56 45 2e 4c 09 |wWindow.|.MOVE.L.|
|00000d10| 28 53 50 29 2b 2c 41 32 | 09 3b 73 61 76 65 20 77 |(SP)+,A2|.;save w|
|00000d20| 69 6e 64 6f 77 50 74 72 | 0d 09 50 45 41 09 74 68 |indowPtr|..PEA.th|
|00000d30| 65 50 6f 72 74 09 09 3b | 56 41 52 20 74 68 65 50 |ePort..;|VAR theP|
|00000d40| 6f 72 74 0d 09 5f 47 65 | 74 50 6f 72 74 09 09 3b |ort.._Ge|tPort..;|
|00000d50| 73 61 76 65 20 63 75 72 | 72 65 6e 74 20 67 72 61 |save cur|rent gra|
|00000d60| 66 70 6f 72 74 0d 09 4d | 4f 56 45 2e 4c 09 41 32 |fport..M|OVE.L.A2|
|00000d70| 2c 2d 28 53 50 29 09 3b | 6d 61 6b 65 20 68 65 6c |,-(SP).;|make hel|
|00000d80| 70 20 77 69 6e 64 6f 77 | 20 63 75 72 72 65 6e 74 |p window| current|
|00000d90| 20 70 6f 72 74 0d 09 5f | 53 65 74 50 6f 72 74 0d | port.._|SetPort.|
|00000da0| 0d 09 4d 4f 56 45 09 23 | 43 68 69 63 61 67 6f 2c |..MOVE.#|Chicago,|
|00000db0| 2d 28 53 50 29 09 3b 73 | 65 74 20 66 6f 6e 74 0d |-(SP).;s|et font.|
|00000dc0| 09 5f 54 65 78 74 46 6f | 6e 74 0d 09 4d 4f 56 45 |._TextFo|nt..MOVE|
|00000dd0| 09 23 31 32 2c 2d 28 53 | 50 29 09 3b 31 32 20 70 |.#12,-(S|P).;12 p|
|00000de0| 6f 69 6e 74 0d 09 5f 54 | 65 78 74 53 69 7a 65 0d |oint.._T|extSize.|
|00000df0| 09 43 65 6e 74 65 72 20 | 09 74 68 65 20 42 69 74 |.Center |.the Bit|
|00000e00| 4e 61 70 70 65 72 2c 31 | 37 38 2c 32 30 0d 09 4d |Napper,1|78,20..M|
|00000e10| 4f 56 45 09 23 47 65 6e | 65 76 61 2c 2d 28 53 50 |OVE.#Gen|eva,-(SP|
|00000e20| 29 0d 09 5f 54 65 78 74 | 46 6f 6e 74 0d 09 4d 4f |).._Text|Font..MO|
|00000e30| 56 45 09 23 39 2c 2d 28 | 53 50 29 0d 09 5f 54 65 |VE.#9,-(|SP).._Te|
|00000e40| 78 74 53 69 7a 65 0d 09 | 43 65 6e 74 65 72 20 09 |xtSize..|Center .|
|00000e50| a9 31 39 38 36 20 62 79 | 20 43 68 72 69 73 20 59 |.1986 by| Chris Y|
|00000e60| 65 72 67 61 2c 31 37 38 | 2c 33 30 0d 09 4d 4f 56 |erga,178|,30..MOV|
|00000e70| 45 09 23 31 32 2c 2d 28 | 53 50 29 0d 09 5f 54 65 |E.#12,-(|SP).._Te|
|00000e80| 78 74 53 69 7a 65 0d 09 | 43 65 6e 74 65 72 20 09 |xtSize..|Center .|
|00000e90| 54 68 65 20 42 69 74 4e | 61 70 70 65 72 20 69 73 |The BitN|apper is|
|00000ea0| 20 61 20 74 6f 6f 6c 20 | 77 68 69 63 68 20 73 69 | a tool |which si|
|00000eb0| 6d 70 6c 69 66 69 65 73 | 2c 31 37 38 2c 35 30 0d |mplifies|,178,50.|
|00000ec0| 09 43 65 6e 74 65 72 09 | 74 68 65 20 75 73 65 20 |.Center.|the use |
|00000ed0| 6f 66 20 42 69 74 4d 61 | 70 70 65 64 20 67 72 61 |of BitMa|pped gra|
|00000ee0| 70 68 69 63 73 20 77 69 | 74 68 20 74 68 65 20 4d |phics wi|th the M|
|00000ef0| 44 53 20 73 79 73 74 65 | 6d 2e 2c 31 37 38 2c 36 |DS syste|m.,178,6|
|00000f00| 32 0d 09 43 65 6e 74 65 | 72 09 49 74 20 61 6c 6c |2..Cente|r.It all|
|00000f10| 6f 77 73 20 74 68 65 20 | 75 73 65 72 20 74 6f 20 |ows the |user to |
|00000f20| 63 75 74 20 62 69 74 6d | 61 70 73 20 64 69 72 65 |cut bitm|aps dire|
|00000f30| 63 74 6c 79 20 6f 66 66 | 2c 31 37 38 2c 37 34 0d |ctly off|,178,74.|
|00000f40| 09 43 65 6e 74 65 72 09 | 74 68 65 20 73 63 72 65 |.Center.|the scre|
|00000f50| 65 6e 20 66 72 6f 6d 20 | 61 6e 79 20 61 70 70 6c |en from |any appl|
|00000f60| 69 63 61 74 69 6f 6e 20 | 74 68 61 74 20 73 75 70 |ication |that sup|
|00000f70| 70 6f 72 74 73 2c 31 37 | 38 2c 38 36 0d 09 43 65 |ports,17|8,86..Ce|
|00000f80| 6e 74 65 72 09 64 65 73 | 6b 20 61 63 63 65 73 73 |nter.des|k access|
|00000f90| 6f 72 69 65 73 2e 2c 31 | 37 38 2c 39 38 0d 09 43 |ories.,1|78,98..C|
|00000fa0| 65 6e 74 65 72 09 54 6f | 20 6c 65 61 72 6e 20 61 |enter.To| learn a|
|00000fb0| 62 6f 75 74 20 67 72 61 | 70 68 69 63 20 74 65 63 |bout gra|phic tec|
|00000fc0| 68 6e 69 71 75 65 73 20 | 61 6e 64 20 61 6c 6c 20 |hniques |and all |
|00000fd0| 6f 74 68 65 72 2c 31 37 | 38 2c 31 31 35 0d 09 43 |other,17|8,115..C|
|00000fe0| 65 6e 74 65 72 09 61 73 | 70 65 63 74 73 20 6f 66 |enter.as|pects of|
|00000ff0| 20 4d 61 63 20 70 72 6f | 67 72 61 6d 6d 69 6e 67 | Mac pro|gramming|
|00001000| 20 72 65 61 64 20 4d 61 | 63 54 75 74 6f 72 20 6d | read Ma|cTutor m|
|00001010| 61 67 61 7a 69 6e 65 2e | 2c 31 37 38 2c 31 32 37 |agazine.|,178,127|
|00001020| 0d 09 4d 4f 56 45 09 23 | 31 2c 2d 28 53 50 29 0d |..MOVE.#|1,-(SP).|
|00001030| 09 5f 54 65 78 74 46 61 | 63 65 0d 09 43 65 6e 74 |._TextFa|ce..Cent|
|00001040| 65 72 09 63 61 6c 6c 20 | 28 37 31 34 29 20 36 33 |er.call |(714) 63|
|00001050| 30 2d 33 37 33 30 20 20 | 74 6f 20 73 75 62 73 63 |0-3730 |to subsc|
|00001060| 72 69 62 65 2c 31 37 38 | 2c 31 35 30 0d 40 31 09 |ribe,178|,150.@1.|
|00001070| 43 4c 52 09 2d 28 53 50 | 29 0d 09 5f 42 75 74 74 |CLR.-(SP|).._Butt|
|00001080| 6f 6e 0d 09 4d 4f 56 45 | 09 28 53 50 29 2b 2c 44 |on..MOVE|.(SP)+,D|
|00001090| 30 0d 09 42 45 51 09 40 | 31 0d 09 4d 4f 56 45 2e |0..BEQ.@|1..MOVE.|
|000010a0| 4c 09 74 68 65 50 6f 72 | 74 2c 2d 28 53 50 29 09 |L.thePor|t,-(SP).|
|000010b0| 09 3b 72 65 73 74 6f 72 | 65 20 74 68 65 20 6f 6c |.;restor|e the ol|
|000010c0| 64 20 67 72 61 66 70 6f | 72 74 0d 09 5f 53 65 74 |d grafpo|rt.._Set|
|000010d0| 50 6f 72 74 0d 09 4d 4f | 56 45 2e 4c 09 41 32 2c |Port..MO|VE.L.A2,|
|000010e0| 2d 28 53 50 29 09 09 3b | 6c 6f 73 65 20 74 68 65 |-(SP)..;|lose the|
|000010f0| 20 77 69 6e 64 6f 77 20 | 61 6e 64 20 66 72 65 65 | window |and free|
|00001100| 0d 09 5f 44 69 73 70 6f | 73 57 69 6e 64 6f 77 09 |.._Dispo|sWindow.|
|00001110| 09 09 3b 75 70 20 69 74 | 27 73 20 6d 65 6d 6f 72 |..;up it|'s memor|
|00001120| 79 0d 09 43 4c 52 09 2d | 28 53 50 29 09 09 09 3b |y..CLR.-|(SP)...;|
|00001130| 75 6e 48 69 4c 69 67 68 | 74 20 74 68 65 20 6d 65 |unHiLigh|t the me|
|00001140| 6e 75 0d 09 5f 48 69 6c | 69 74 65 4d 65 6e 75 0d |nu.._Hil|iteMenu.|
|00001150| 09 42 52 41 09 43 74 6c | 44 6f 6e 65 0d 09 0d 43 |.BRA.Ctl|Done...C|
|00001160| 65 6e 74 65 72 54 65 78 | 74 3a 0d 09 43 4c 52 09 |enterTex|t:..CLR.|
|00001170| 2d 28 53 50 29 09 09 3b | 72 6f 6f 6d 20 66 6f 72 |-(SP)..;|room for|
|00001180| 20 49 4e 54 45 47 45 52 | 0d 09 4d 4f 56 45 2e 4c | INTEGER|..MOVE.L|
|00001190| 09 41 33 2c 2d 28 53 50 | 29 09 3b 70 75 73 68 20 |.A3,-(SP|).;push |
|000011a0| 73 74 72 69 6e 67 50 74 | 72 0d 09 5f 53 74 72 69 |stringPt|r.._Stri|
|000011b0| 6e 67 57 69 64 74 68 0d | 09 43 4c 52 2e 4c 09 44 |ngWidth.|.CLR.L.D|
|000011c0| 33 0d 09 4d 4f 56 45 09 | 28 53 50 29 2b 2c 44 33 |3..MOVE.|(SP)+,D3|
|000011d0| 09 3b 67 65 74 20 73 74 | 72 69 6e 67 20 77 69 64 |.;get st|ring wid|
|000011e0| 74 68 0d 09 44 49 56 55 | 09 23 32 2c 44 33 0d 09 |th..DIVU|.#2,D3..|
|000011f0| 53 55 42 09 44 33 2c 44 | 34 09 09 3b 73 75 62 74 |SUB.D3,D|4..;subt|
|00001200| 72 61 63 74 20 77 69 64 | 74 68 2f 32 20 66 72 6f |ract wid|th/2 fro|
|00001210| 6d 20 63 65 6e 74 65 72 | 0d 09 4d 4f 56 45 09 44 |m center|..MOVE.D|
|00001220| 34 2c 2d 28 53 50 29 09 | 3b 70 75 73 68 20 78 0d |4,-(SP).|;push x.|
|00001230| 09 4d 4f 56 45 09 44 35 | 2c 2d 28 53 50 29 09 3b |.MOVE.D5|,-(SP).;|
|00001240| 70 75 73 68 20 79 0d 09 | 5f 4d 6f 76 65 54 6f 0d |push y..|_MoveTo.|
|00001250| 09 4d 4f 56 45 2e 4c 09 | 41 33 2c 2d 28 53 50 29 |.MOVE.L.|A3,-(SP)|
|00001260| 0d 09 5f 44 72 61 77 53 | 74 72 69 6e 67 0d 09 52 |.._DrawS|tring..R|
|00001270| 54 53 0d 09 0d 09 0d 43 | 6f 6e 73 74 72 61 69 6e |TS.....C|onstrain|
|00001280| 3a 0d 09 4d 4f 56 45 2e | 4c 09 64 43 74 6c 53 74 |:..MOVE.|L.dCtlSt|
|00001290| 6f 72 61 67 65 28 41 34 | 29 2c 2d 28 53 50 29 09 |orage(A4|),-(SP).|
|000012a0| 3b 6d 65 6e 75 48 61 6e | 64 6c 65 0d 09 4d 4f 56 |;menuHan|dle..MOV|
|000012b0| 45 09 23 32 2c 2d 28 53 | 50 29 09 09 09 3b 69 74 |E.#2,-(S|P)...;it|
|000012c0| 65 6d 20 23 32 0d 09 50 | 45 41 09 43 68 65 63 6b |em #2..P|EA.Check|
|000012d0| 4d 61 72 6b 09 09 3b 56 | 41 52 20 43 68 65 63 6b |Mark..;V|AR Check|
|000012e0| 4d 61 72 6b 0d 09 5f 47 | 65 74 49 74 6d 4d 61 72 |Mark.._G|etItmMar|
|000012f0| 6b 0d 09 43 4c 52 09 44 | 30 09 09 09 3b 73 65 74 |k..CLR.D|0...;set|
|00001300| 20 6d 61 72 6b 65 64 20 | 74 6f 20 46 41 4c 53 45 | marked |to FALSE|
|00001310| 0d 09 4c 45 41 09 43 68 | 65 63 6b 4d 61 72 6b 2c |..LEA.Ch|eckMark,|
|00001320| 41 31 0d 09 54 53 54 09 | 28 41 31 29 09 09 09 3b |A1..TST.|(A1)...;|
|00001330| 69 73 20 69 74 20 6d 61 | 72 6b 65 64 3f 0d 09 42 |is it ma|rked?..B|
|00001340| 4e 45 09 40 31 09 09 09 | 3b 59 65 73 2e 2e 6c 65 |NE.@1...|;Yes..le|
|00001350| 74 73 20 75 6e 6d 61 72 | 6b 20 69 74 0d 09 4d 4f |ts unmar|k it..MO|
|00001360| 56 45 09 23 24 30 31 30 | 31 2c 44 30 09 09 3b 73 |VE.#$010|1,D0..;s|
|00001370| 65 74 20 6d 61 72 6b 65 | 64 20 74 6f 20 54 52 55 |et marke|d to TRU|
|00001380| 45 0d 40 31 09 4d 4f 56 | 45 2e 4c 09 64 43 74 6c |E.@1.MOV|E.L.dCtl|
|00001390| 53 74 6f 72 61 67 65 28 | 41 34 29 2c 2d 28 53 50 |Storage(|A4),-(SP|
|000013a0| 29 09 3b 6d 65 6e 75 48 | 61 6e 64 6c 65 0d 09 4d |).;menuH|andle..M|
|000013b0| 4f 56 45 09 23 32 2c 2d | 28 53 50 29 09 09 09 3b |OVE.#2,-|(SP)...;|
|000013c0| 69 74 65 6d 20 23 32 0d | 09 4d 4f 56 45 09 44 30 |item #2.|.MOVE.D0|
|000013d0| 2c 2d 28 53 50 29 09 09 | 3b 6d 61 72 6b 65 64 3a |,-(SP)..|;marked:|
|000013e0| 20 42 4f 4f 4c 45 41 4e | 0d 09 5f 43 68 65 63 6b | BOOLEAN|.._Check|
|000013f0| 49 74 65 6d 0d 09 43 4c | 52 09 2d 28 53 50 29 09 |Item..CL|R.-(SP).|
|00001400| 09 09 3b 75 6e 48 69 4c | 69 67 68 74 20 74 68 65 |..;unHiL|ight the|
|00001410| 20 6d 65 6e 75 0d 09 5f | 48 69 6c 69 74 65 4d 65 | menu.._|HiliteMe|
|00001420| 6e 75 0d 09 42 52 41 09 | 43 74 6c 44 6f 6e 65 0d |nu..BRA.|CtlDone.|
|00001430| 09 0d 53 79 6e 63 3a 0d | 09 53 55 42 51 09 09 23 |..Sync:.|.SUBQ..#|
|00001440| 34 2c 53 50 09 09 3b 52 | 6f 6f 6d 20 66 6f 72 20 |4,SP..;R|oom for |
|00001450| 72 65 73 75 6c 74 0d 09 | 5f 54 69 63 6b 43 6f 75 |result..|_TickCou|
|00001460| 6e 74 0d 40 31 09 53 55 | 42 51 09 09 23 34 2c 53 |nt.@1.SU|BQ..#4,S|
|00001470| 50 09 09 3b 47 65 74 20 | 69 74 20 61 67 61 69 6e |P..;Get |it again|
|00001480| 0d 09 5f 54 69 63 6b 43 | 6f 75 6e 74 0d 09 4d 4f |.._TickC|ount..MO|
|00001490| 56 45 2e 4c 09 09 28 53 | 50 29 2b 2c 44 30 09 3b |VE.L..(S|P)+,D0.;|
|000014a0| 47 65 74 20 74 69 63 6b | 43 6f 75 6e 74 20 69 6e |Get tick|Count in|
|000014b0| 20 44 30 0d 09 43 4d 50 | 2e 4c 09 09 28 53 50 29 | D0..CMP|.L..(SP)|
|000014c0| 2c 44 30 09 09 3b 48 61 | 73 20 69 74 20 63 68 61 |,D0..;Ha|s it cha|
|000014d0| 6e 67 65 64 3f 0d 09 42 | 45 51 09 09 40 31 09 09 |nged?..B|EQ..@1..|
|000014e0| 3b 4e 6f 2c 20 6c 6f 6f | 70 0d 09 41 44 44 51 09 |;No, loo|p..ADDQ.|
|000014f0| 09 23 34 2c 53 50 09 09 | 3b 65 6c 73 65 20 70 6f |.#4,SP..|;else po|
|00001500| 70 20 6f 6c 64 20 74 69 | 63 6b 43 6f 75 6e 74 0d |p old ti|ckCount.|
|00001510| 09 52 54 53 09 09 09 09 | 3b 61 6e 64 20 72 65 74 |.RTS....|;and ret|
|00001520| 75 72 6e 0d 09 0d 47 65 | 74 42 69 74 73 3a 09 0d |urn...Ge|tBits:..|
|00001530| 09 50 45 41 09 74 68 65 | 50 6f 72 74 09 09 09 3b |.PEA.the|Port...;|
|00001540| 73 61 76 65 20 74 68 65 | 20 47 72 61 66 50 6f 72 |save the| GrafPor|
|00001550| 74 0d 09 5f 47 65 74 50 | 6f 72 74 0d 09 4d 4f 56 |t.._GetP|ort..MOV|
|00001560| 45 2e 4c 09 64 43 74 6c | 53 74 6f 72 61 67 65 28 |E.L.dCtl|Storage(|
|00001570| 41 34 29 2c 2d 28 53 50 | 29 09 3b 6d 65 6e 75 48 |A4),-(SP|).;menuH|
|00001580| 61 6e 64 6c 65 0d 09 4d | 4f 56 45 09 23 32 2c 2d |andle..M|OVE.#2,-|
|00001590| 28 53 50 29 09 09 3b 69 | 74 65 6d 20 23 32 0d 09 |(SP)..;i|tem #2..|
|000015a0| 50 45 41 09 43 68 65 63 | 6b 4d 61 72 6b 09 09 3b |PEA.Chec|kMark..;|
|000015b0| 56 41 52 20 43 68 65 63 | 6b 4d 61 72 6b 0d 09 5f |VAR Chec|kMark.._|
|000015c0| 47 65 74 49 74 6d 4d 61 | 72 6b 09 09 09 3b 73 65 |GetItmMa|rk...;se|
|000015d0| 65 20 69 66 20 69 74 27 | 73 20 6d 61 72 6b 65 64 |e if it'|s marked|
|000015e0| 0d 09 4d 4f 56 45 09 23 | 24 46 46 46 46 2c 44 34 |..MOVE.#|$FFFF,D4|
|000015f0| 09 09 3b 61 73 73 75 6d | 65 20 6e 6f 20 63 6f 6e |..;assum|e no con|
|00001600| 73 74 72 61 69 6e 74 0d | 09 4c 45 41 09 43 68 65 |straint.|.LEA.Che|
|00001610| 63 6b 4d 61 72 6b 2c 41 | 31 0d 09 54 53 54 09 28 |ckMark,A|1..TST.(|
|00001620| 41 31 29 09 09 09 3b 69 | 73 20 69 74 20 6d 61 72 |A1)...;i|s it mar|
|00001630| 6b 65 64 3f 0d 09 42 45 | 51 09 40 30 09 09 09 3b |ked?..BE|Q.@0...;|
|00001640| 6e 6f 2e 2e 2e 6e 6f 20 | 63 6f 6e 73 74 72 61 69 |no...no |constrai|
|00001650| 6e 74 0d 09 4d 4f 56 45 | 09 23 24 46 46 46 30 2c |nt..MOVE|.#$FFF0,|
|00001660| 44 34 09 09 3b 79 65 73 | 2e 2e 2e 77 6f 72 64 20 |D4..;yes|...word |
|00001670| 63 6f 6e 73 74 72 61 69 | 6e 74 0d 40 30 09 5f 48 |constrai|nt.@0._H|
|00001680| 69 64 65 43 75 72 73 6f | 72 09 09 09 3b 68 69 64 |ideCurso|r...;hid|
|00001690| 65 20 74 68 65 20 63 75 | 72 73 6f 72 0d 40 31 09 |e the cu|rsor.@1.|
|000016a0| 50 45 41 09 53 74 61 72 | 74 50 6f 69 6e 74 09 09 |PEA.Star|tPoint..|
|000016b0| 3b 56 41 52 20 4d 6f 75 | 73 65 50 6f 69 6e 74 0d |;VAR Mou|sePoint.|
|000016c0| 09 5f 47 65 74 4d 6f 75 | 73 65 09 09 09 3b 67 65 |._GetMou|se...;ge|
|000016d0| 74 20 74 68 65 20 6d 6f | 75 73 65 20 6c 6f 63 61 |t the mo|use loca|
|000016e0| 74 69 6f 6e 0d 09 50 45 | 41 09 53 74 61 72 74 50 |tion..PE|A.StartP|
|000016f0| 6f 69 6e 74 0d 09 5f 4c | 6f 63 61 6c 54 6f 47 6c |oint.._L|ocalToGl|
|00001700| 6f 62 61 6c 09 09 3b 63 | 6f 6e 76 65 72 74 20 74 |obal..;c|onvert t|
|00001710| 6f 20 67 6c 6f 62 61 6c | 20 63 6f 6f 72 64 69 6e |o global| coordin|
|00001720| 61 74 65 73 0d 09 4c 45 | 41 09 53 74 61 72 74 50 |ates..LE|A.StartP|
|00001730| 6f 69 6e 74 2c 41 33 0d | 09 41 4e 44 09 44 34 2c |oint,A3.|.AND.D4,|
|00001740| 32 28 41 33 29 09 3b 63 | 6f 6e 73 74 72 61 69 6e |2(A3).;c|onstrain|
|00001750| 20 74 68 65 20 68 6f 72 | 69 7a 20 63 6f 6f 72 64 | the hor|iz coord|
|00001760| 0d 09 4d 4f 56 45 2e 4c | 09 28 41 33 29 2c 34 28 |..MOVE.L|.(A3),4(|
|00001770| 41 33 29 09 3b 54 6f 70 | 4c 65 66 74 20 6f 66 20 |A3).;Top|Left of |
|00001780| 72 65 63 74 0d 09 41 44 | 44 09 23 34 2c 34 28 41 |rect..AD|D.#4,4(A|
|00001790| 33 29 09 3b 61 64 64 20 | 34 20 74 6f 20 62 6f 74 |3).;add |4 to bot|
|000017a0| 74 6f 6d 0d 09 41 44 44 | 09 23 31 36 2c 36 28 41 |tom..ADD|.#16,6(A|
|000017b0| 33 29 09 3b 61 64 64 20 | 31 36 20 74 6f 20 72 69 |3).;add |16 to ri|
|000017c0| 67 68 74 0d 09 4d 4f 56 | 45 2e 4c 09 41 33 2c 2d |ght..MOV|E.L.A3,-|
|000017d0| 28 53 50 29 0d 09 5f 49 | 6e 76 65 72 52 65 63 74 |(SP).._I|nverRect|
|000017e0| 09 09 3b 69 6e 76 65 72 | 74 20 74 68 65 20 72 65 |..;inver|t the re|
|000017f0| 63 74 0d 09 42 53 52 09 | 53 79 6e 63 09 09 3b 77 |ct..BSR.|Sync..;w|
|00001800| 61 69 74 20 66 6f 72 20 | 61 20 63 6f 75 70 6c 65 |ait for |a couple|
|00001810| 20 56 42 4c 27 73 0d 09 | 42 53 52 09 53 79 6e 63 | VBL's..|BSR.Sync|
|00001820| 0d 09 4d 4f 56 45 2e 4c | 09 41 33 2c 2d 28 53 50 |..MOVE.L|.A3,-(SP|
|00001830| 29 09 3b 69 6e 76 65 72 | 74 20 69 74 20 61 67 61 |).;inver|t it aga|
|00001840| 69 6e 0d 09 5f 49 6e 76 | 65 72 52 65 63 74 0d 09 |in.._Inv|erRect..|
|00001850| 43 4c 52 09 2d 28 53 50 | 29 09 09 3b 42 4f 4f 4c |CLR.-(SP|)..;BOOL|
|00001860| 45 41 4e 0d 09 5f 42 75 | 74 74 6f 6e 09 09 09 3b |EAN.._Bu|tton...;|
|00001870| 73 65 65 20 69 66 20 42 | 75 74 74 6f 6e 20 69 73 |see if B|utton is|
|00001880| 20 70 72 65 73 73 65 64 | 0d 09 4d 4f 56 45 09 28 | pressed|..MOVE.(|
|00001890| 53 50 29 2b 2c 44 30 09 | 3b 67 65 74 20 72 65 73 |SP)+,D0.|;get res|
|000018a0| 75 6c 74 0d 09 42 4e 45 | 09 40 32 09 09 3b 62 75 |ult..BNE|.@2..;bu|
|000018b0| 74 74 6f 6e 20 77 61 73 | 20 70 72 65 73 73 65 64 |tton was| pressed|
|000018c0| 0d 09 42 52 41 09 40 31 | 09 09 3b 6e 6f 74 20 70 |..BRA.@1|..;not p|
|000018d0| 72 65 73 73 65 64 2e 2e | 2e 63 6f 6e 74 69 6e 75 |ressed..|.continu|
|000018e0| 65 0d 09 0d 40 32 09 50 | 45 41 09 53 74 61 72 74 |e...@2.P|EA.Start|
|000018f0| 50 6f 69 6e 74 09 3b 64 | 72 61 77 20 74 68 65 20 |Point.;d|raw the |
|00001900| 72 65 63 74 0d 09 5f 49 | 6e 76 65 72 52 65 63 74 |rect.._I|nverRect|
|00001910| 0d 0d 40 33 09 50 45 41 | 09 4e 65 77 50 6f 69 6e |..@3.PEA|.NewPoin|
|00001920| 74 09 3b 56 41 52 20 4e | 65 77 50 6f 69 6e 74 0d |t.;VAR N|ewPoint.|
|00001930| 09 5f 47 65 74 4d 6f 75 | 73 65 09 09 3b 67 65 74 |._GetMou|se..;get|
|00001940| 20 74 68 65 20 6d 6f 75 | 73 65 20 6c 6f 63 61 74 | the mou|se locat|
|00001950| 69 6f 6e 0d 09 50 45 41 | 09 4e 65 77 50 6f 69 6e |ion..PEA|.NewPoin|
|00001960| 74 0d 09 5f 4c 6f 63 61 | 6c 54 6f 47 6c 6f 62 61 |t.._Loca|lToGloba|
|00001970| 6c 09 09 3b 63 6f 6e 76 | 65 72 74 20 74 6f 20 67 |l..;conv|ert to g|
|00001980| 6c 6f 62 61 6c 20 63 6f | 6f 72 64 69 6e 61 74 65 |lobal co|ordinate|
|00001990| 73 0d 09 4c 45 41 09 4e | 65 77 50 6f 69 6e 74 2c |s..LEA.N|ewPoint,|
|000019a0| 41 33 09 3b 67 65 74 20 | 70 74 72 20 74 6f 20 4e |A3.;get |ptr to N|
|000019b0| 65 77 50 6f 69 6e 74 0d | 09 41 4e 44 09 44 34 2c |ewPoint.|.AND.D4,|
|000019c0| 32 28 41 33 29 09 3b 63 | 6f 6e 73 74 72 61 69 6e |2(A3).;c|onstrain|
|000019d0| 20 74 68 65 20 68 6f 72 | 69 7a 0d 09 4d 4f 56 45 | the hor|iz..MOVE|
|000019e0| 2e 4c 09 28 41 33 29 2c | 44 30 09 09 3b 67 65 74 |.L.(A3),|D0..;get|
|000019f0| 20 6e 65 77 70 6f 69 6e | 74 0d 09 4c 45 41 09 45 | newpoin|t..LEA.E|
|00001a00| 6e 64 50 6f 69 6e 74 2c | 41 33 0d 09 43 4d 50 2e |ndPoint,|A3..CMP.|
|00001a10| 4c 09 28 41 33 29 2c 44 | 30 09 09 3b 68 61 73 20 |L.(A3),D|0..;has |
|00001a20| 69 74 20 63 68 61 6e 67 | 65 64 3f 0d 09 42 45 51 |it chang|ed?..BEQ|
|00001a30| 09 40 34 09 09 3b 6e 6f | 2e 2e 2e 63 68 65 63 6b |.@4..;no|...check|
|00001a40| 20 66 6f 72 20 42 75 74 | 74 6f 6e 20 75 70 0d 09 | for But|ton up..|
|00001a50| 42 53 52 09 53 79 6e 63 | 0d 09 50 45 41 09 53 74 |BSR.Sync|..PEA.St|
|00001a60| 61 72 74 50 6f 69 6e 74 | 09 3b 79 65 73 2e 2e 2e |artPoint|.;yes...|
|00001a70| 65 72 61 73 65 20 6f 6c | 64 20 72 65 63 74 0d 09 |erase ol|d rect..|
|00001a80| 5f 49 6e 76 65 72 52 65 | 63 74 0d 09 4d 4f 56 45 |_InverRe|ct..MOVE|
|00001a90| 2e 4c 09 34 28 41 33 29 | 2c 28 41 33 29 09 3b 6d |.L.4(A3)|,(A3).;m|
|00001aa0| 61 6b 65 20 50 6f 69 6e | 74 20 74 68 65 20 6e 65 |ake Poin|t the ne|
|00001ab0| 77 20 45 6e 64 50 6f 69 | 6e 74 0d 09 50 45 41 09 |w EndPoi|nt..PEA.|
|00001ac0| 53 74 61 72 74 50 6f 69 | 6e 74 0d 09 5f 49 6e 76 |StartPoi|nt.._Inv|
|00001ad0| 65 72 52 65 63 74 09 09 | 3b 61 6e 64 20 69 6e 76 |erRect..|;and inv|
|00001ae0| 65 72 74 20 74 68 65 20 | 6e 65 77 20 72 65 63 74 |ert the |new rect|
|00001af0| 0d 40 34 09 43 4c 52 09 | 2d 28 53 50 29 0d 09 5f |.@4.CLR.|-(SP).._|
|00001b00| 42 75 74 74 6f 6e 09 09 | 09 3b 42 75 74 74 6f 6e |Button..|.;Button|
|00001b10| 20 75 70 3f 0d 09 4d 4f | 56 45 09 28 53 50 29 2b | up?..MO|VE.(SP)+|
|00001b20| 2c 44 30 0d 09 42 4e 45 | 09 40 33 09 09 3b 6e 6f |,D0..BNE|.@3..;no|
|00001b30| 2e 2e 2e 6b 65 65 70 20 | 67 6f 69 6e 67 0d 09 0d |...keep |going...|
|00001b40| 09 50 45 41 09 53 74 61 | 72 74 50 6f 69 6e 74 0d |.PEA.Sta|rtPoint.|
|00001b50| 09 5f 49 6e 76 65 72 52 | 65 63 74 09 09 3b 65 72 |._InverR|ect..;er|
|00001b60| 61 73 65 20 74 68 65 20 | 72 65 63 74 0d 09 43 4c |ase the |rect..CL|
|00001b70| 52 09 2d 28 53 50 29 09 | 09 3b 72 6f 6f 6d 20 66 |R.-(SP).|.;room f|
|00001b80| 6f 72 20 42 4f 4f 4c 45 | 41 4e 0d 09 50 45 41 09 |or BOOLE|AN..PEA.|
|00001b90| 53 74 61 72 74 50 6f 69 | 6e 74 0d 09 5f 45 6d 70 |StartPoi|nt.._Emp|
|00001ba0| 74 79 52 65 63 74 09 09 | 3b 69 73 20 74 68 65 20 |tyRect..|;is the |
|00001bb0| 72 65 63 74 61 6e 67 6c | 65 20 65 6d 70 74 79 3f |rectangl|e empty?|
|00001bc0| 0d 09 4d 4f 56 45 09 28 | 53 50 29 2b 2c 44 30 09 |..MOVE.(|SP)+,D0.|
|00001bd0| 3b 67 65 74 20 72 65 73 | 75 6c 74 0d 09 42 4e 45 |;get res|ult..BNE|
|00001be0| 09 53 74 65 61 6c 45 78 | 69 74 09 3b 59 65 73 2e |.StealEx|it.;Yes.|
|00001bf0| 2e 2e 67 65 74 20 6c 6f | 73 74 0d 09 0d 09 4c 45 |..get lo|st....LE|
|00001c00| 41 09 53 74 61 72 74 50 | 6f 69 6e 74 2c 41 31 09 |A.StartP|oint,A1.|
|00001c10| 3b 67 65 74 20 70 6f 69 | 6e 74 65 72 0d 09 4c 45 |;get poi|nter..LE|
|00001c20| 41 09 4e 65 77 50 6f 69 | 6e 74 2c 41 30 09 3b 67 |A.NewPoi|nt,A0.;g|
|00001c30| 65 74 20 70 6f 69 6e 74 | 65 72 0d 09 4d 4f 56 45 |et point|er..MOVE|
|00001c40| 2e 4c 09 28 41 31 29 2c | 28 41 30 29 09 3b 63 6f |.L.(A1),|(A0).;co|
|00001c50| 70 79 20 54 6f 70 4c 65 | 66 74 0d 09 4d 4f 56 45 |py TopLe|ft..MOVE|
|00001c60| 2e 4c 09 34 28 41 31 29 | 2c 34 28 41 30 29 09 3b |.L.4(A1)|,4(A0).;|
|00001c70| 63 6f 70 79 20 42 6f 74 | 74 6f 6d 52 69 67 68 74 |copy Bot|tomRight|
|00001c80| 0d 09 4d 4f 56 45 2e 4c | 09 28 41 30 29 2c 2d 28 |..MOVE.L|.(A0),-(|
|00001c90| 53 50 29 09 3b 53 72 63 | 50 6f 69 6e 74 0d 09 50 |SP).;Src|Point..P|
|00001ca0| 45 41 09 34 28 41 30 29 | 09 09 3b 56 41 52 20 44 |EA.4(A0)|..;VAR D|
|00001cb0| 65 73 74 50 6f 69 6e 74 | 0d 09 5f 53 75 62 50 74 |estPoint|.._SubPt|
|00001cc0| 09 09 09 3b 73 75 62 74 | 72 61 63 74 20 53 72 63 |...;subt|ract Src|
|00001cd0| 50 74 20 66 72 6f 6d 20 | 44 65 73 74 50 74 0d 09 |Pt from |DestPt..|
|00001ce0| 09 09 09 3b 61 6e 64 20 | 73 74 6f 72 65 20 72 65 |...;and |store re|
|00001cf0| 73 75 6c 74 20 69 6e 20 | 44 65 73 74 50 74 0d 09 |sult in |DestPt..|
|00001d00| 4c 45 41 09 4e 65 77 50 | 6f 69 6e 74 2c 41 30 09 |LEA.NewP|oint,A0.|
|00001d10| 3b 67 65 74 20 70 6f 69 | 6e 74 65 72 0d 09 43 4c |;get poi|nter..CL|
|00001d20| 52 2e 4c 09 28 41 30 29 | 09 09 3b 73 65 74 20 74 |R.L.(A0)|..;set t|
|00001d30| 6f 70 6c 65 66 74 20 3d | 20 30 2c 30 0d 09 4d 4f |opleft =| 0,0..MO|
|00001d40| 56 45 09 36 28 41 30 29 | 2c 44 30 09 3b 67 65 74 |VE.6(A0)|,D0.;get|
|00001d50| 20 52 69 67 68 74 20 69 | 6e 20 44 30 0d 09 41 44 | Right i|n D0..AD|
|00001d60| 44 09 23 24 46 2c 44 30 | 0d 09 4c 53 52 09 23 33 |D.#$F,D0|..LSR.#3|
|00001d70| 2c 44 30 09 09 3b 64 69 | 76 69 64 65 20 62 79 20 |,D0..;di|vide by |
|00001d80| 38 20 74 6f 20 67 65 74 | 20 72 6f 77 42 79 74 65 |8 to get| rowByte|
|00001d90| 73 0d 09 41 4e 44 09 23 | 24 46 46 46 45 2c 44 30 |s..AND.#|$FFFE,D0|
|00001da0| 0d 09 4d 55 4c 55 09 34 | 28 41 30 29 2c 44 30 09 |..MULU.4|(A0),D0.|
|00001db0| 3b 6d 75 6c 74 69 70 6c | 79 20 62 79 20 74 68 65 |;multipl|y by the|
|00001dc0| 20 68 65 69 67 68 74 0d | 09 41 44 44 09 23 32 30 | height.|.ADD.#20|
|00001dd0| 2c 44 30 09 09 3b 6d 61 | 6b 65 20 72 6f 6f 6d 20 |,D0..;ma|ke room |
|00001de0| 66 6f 72 20 68 65 61 64 | 65 72 0d 09 4c 45 41 09 |for head|er..LEA.|
|00001df0| 42 69 74 4d 61 70 4c 65 | 6e 2c 41 30 0d 09 4d 4f |BitMapLe|n,A0..MO|
|00001e00| 56 45 2e 4c 09 44 30 2c | 28 41 30 29 09 09 3b 73 |VE.L.D0,|(A0)..;s|
|00001e10| 61 76 65 20 74 68 65 20 | 6c 65 6e 67 74 68 0d 09 |ave the |length..|
|00001e20| 5f 4e 65 77 50 74 72 09 | 09 09 3b 67 65 74 20 61 |_NewPtr.|..;get a|
|00001e30| 20 6e 6f 6e 72 65 6c 6f | 63 61 74 61 62 6c 65 20 | nonrelo|catable |
|00001e40| 62 6c 6f 63 6b 0d 09 45 | 72 72 43 68 65 63 6b 0d |block..E|rrCheck.|
|00001e50| 09 0d 09 4c 45 41 09 42 | 69 74 4d 61 70 50 74 72 |...LEA.B|itMapPtr|
|00001e60| 2c 41 31 0d 09 4d 4f 56 | 45 2e 4c 09 41 30 2c 28 |,A1..MOV|E.L.A0,(|
|00001e70| 41 31 29 09 09 3b 73 61 | 76 65 20 70 6f 69 6e 74 |A1)..;sa|ve point|
|00001e80| 65 72 0d 09 4d 4f 56 45 | 2e 4c 09 41 30 2c 41 34 |er..MOVE|.L.A0,A4|
|00001e90| 09 09 3b 63 6f 70 79 20 | 74 6f 20 41 36 0d 09 4c |..;copy |to A6..L|
|00001ea0| 45 41 09 4e 65 77 50 6f | 69 6e 74 2c 41 30 09 3b |EA.NewPo|int,A0.;|
|00001eb0| 67 65 74 20 70 6f 69 6e | 74 65 72 0d 09 4d 4f 56 |get poin|ter..MOV|
|00001ec0| 45 09 36 28 41 30 29 2c | 44 30 09 3b 67 65 74 20 |E.6(A0),|D0.;get |
|00001ed0| 52 69 67 68 74 20 69 6e | 20 44 30 0d 09 41 44 44 |Right in| D0..ADD|
|00001ee0| 09 23 24 46 2c 44 30 0d | 09 4c 53 52 09 23 33 2c |.#$F,D0.|.LSR.#3,|
|00001ef0| 44 30 09 09 3b 64 69 76 | 69 64 65 20 62 79 20 38 |D0..;div|ide by 8|
|00001f00| 20 74 6f 20 67 65 74 20 | 72 6f 77 42 79 74 65 73 | to get |rowBytes|
|00001f10| 0d 09 41 4e 44 09 23 24 | 46 46 46 45 2c 44 30 0d |..AND.#$|FFFE,D0.|
|00001f20| 09 43 4c 52 2e 4c 09 28 | 41 34 29 2b 09 09 3b 63 |.CLR.L.(|A4)+..;c|
|00001f30| 6c 65 61 72 20 73 70 61 | 63 65 20 66 6f 72 20 42 |lear spa|ce for B|
|00001f40| 61 73 41 64 64 72 20 70 | 74 72 0d 09 4d 4f 56 45 |asAddr p|tr..MOVE|
|00001f50| 09 44 30 2c 28 41 34 29 | 2b 09 3b 73 74 6f 72 65 |.D0,(A4)|+.;store|
|00001f60| 20 72 6f 77 42 79 74 65 | 73 0d 09 43 4c 52 2e 4c | rowByte|s..CLR.L|
|00001f70| 09 28 41 34 29 2b 09 09 | 3b 74 6f 70 4c 65 66 74 |.(A4)+..|;topLeft|
|00001f80| 20 6f 66 20 42 6f 75 6e | 64 73 0d 09 4d 4f 56 45 | of Boun|ds..MOVE|
|00001f90| 2e 4c 09 34 28 41 30 29 | 2c 28 41 34 29 2b 09 3b |.L.4(A0)|,(A4)+.;|
|00001fa0| 62 6f 74 74 6f 6d 52 69 | 67 68 74 2e 2e 2e 0d 09 |bottomRi|ght.....|
|00001fb0| 4d 4f 56 45 2e 4c 09 28 | 41 31 29 2c 41 31 09 09 |MOVE.L.(|A1),A1..|
|00001fc0| 3b 67 65 74 20 70 6f 69 | 6e 74 65 72 20 74 6f 20 |;get poi|nter to |
|00001fd0| 73 74 6f 72 61 67 65 20 | 61 67 61 69 6e 0d 09 4d |storage |again..M|
|00001fe0| 4f 56 45 2e 4c 09 41 34 | 2c 28 41 31 29 09 09 3b |OVE.L.A4|,(A1)..;|
|00001ff0| 73 74 6f 72 65 20 62 61 | 73 41 64 64 72 0d 09 0d |store ba|sAddr...|
|00002000| 09 4d 4f 56 45 2e 4c 09 | 28 41 35 29 2c 41 30 09 |.MOVE.L.|(A5),A0.|
|00002010| 09 3b 67 65 74 20 67 6c | 6f 62 61 6c 50 74 72 0d |.;get gl|obalPtr.|
|00002020| 09 50 45 41 09 53 63 72 | 65 65 6e 42 69 74 73 28 |.PEA.Scr|eenBits(|
|00002030| 41 30 29 09 3b 73 72 63 | 42 69 74 73 0d 09 4d 4f |A0).;src|Bits..MO|
|00002040| 56 45 2e 4c 09 41 31 2c | 2d 28 53 50 29 09 3b 64 |VE.L.A1,|-(SP).;d|
|00002050| 65 73 74 42 69 74 73 0d | 09 50 45 41 09 53 74 61 |estBits.|.PEA.Sta|
|00002060| 72 74 50 6f 69 6e 74 09 | 3b 73 72 63 52 65 63 74 |rtPoint.|;srcRect|
|00002070| 0d 09 50 45 41 09 4e 65 | 77 50 6f 69 6e 74 09 3b |..PEA.Ne|wPoint.;|
|00002080| 64 65 73 74 52 65 63 74 | 0d 09 43 4c 52 09 2d 28 |destRect|..CLR.-(|
|00002090| 53 50 29 09 09 3b 6d 6f | 64 65 20 3d 20 73 72 63 |SP)..;mo|de = src|
|000020a0| 43 6f 70 79 0d 09 43 4c | 52 2e 4c 09 2d 28 53 50 |Copy..CL|R.L.-(SP|
|000020b0| 29 09 09 3b 6e 6f 20 6d | 61 73 6b 52 67 6e 0d 09 |)..;no m|askRgn..|
|000020c0| 5f 43 6f 70 79 42 69 74 | 73 09 09 3b 63 6f 70 79 |_CopyBit|s..;copy|
|000020d0| 20 74 68 65 20 64 61 74 | 61 20 66 72 6f 6d 20 74 | the dat|a from t|
|000020e0| 68 65 20 73 63 72 65 65 | 6e 0d 09 09 09 09 3b 74 |he scree|n.....;t|
|000020f0| 6f 20 6f 75 72 20 42 69 | 74 4d 61 70 0d 09 09 09 |o our Bi|tMap....|
|00002100| 09 09 0d 50 75 74 46 69 | 6c 65 3a 0d 09 5f 53 68 |...PutFi|le:.._Sh|
|00002110| 6f 77 43 75 72 73 6f 72 | 0d 09 4d 4f 56 45 09 23 |owCursor|..MOVE.#|
|00002120| 31 30 30 2c 2d 28 53 50 | 29 09 09 3b 78 20 63 6f |100,-(SP|)..;x co|
|00002130| 6f 72 64 69 6e 61 74 65 | 20 6f 66 20 64 69 61 6c |ordinate| of dial|
|00002140| 6f 67 0d 09 4d 4f 56 45 | 09 23 38 30 2c 2d 28 53 |og..MOVE|.#80,-(S|
|00002150| 50 29 09 09 3b 79 20 63 | 6f 6f 72 64 69 6e 61 74 |P)..;y c|oordinat|
|00002160| 65 0d 09 50 45 41 09 27 | 53 61 76 65 20 42 69 74 |e..PEA.'|Save Bit|
|00002170| 4d 61 70 20 61 73 3a 27 | 09 3b 70 72 6f 6d 70 74 |Map as:'|.;prompt|
|00002180| 0d 09 50 45 41 09 27 55 | 6e 74 69 74 6c 65 64 2e |..PEA.'U|ntitled.|
|00002190| 42 4d 41 50 27 09 09 3b | 64 65 66 61 75 6c 74 20 |BMAP'..;|default |
|000021a0| 6e 61 6d 65 0d 09 43 4c | 52 2e 4c 09 2d 28 53 50 |name..CL|R.L.-(SP|
|000021b0| 29 09 09 09 3b 73 74 61 | 6e 64 61 72 64 20 64 69 |)...;sta|ndard di|
|000021c0| 61 6c 6f 67 0d 09 50 45 | 41 09 53 46 52 65 70 6c |alog..PE|A.SFRepl|
|000021d0| 79 09 09 09 3b 72 65 70 | 6c 79 20 72 65 63 6f 72 |y...;rep|ly recor|
|000021e0| 64 0d 09 4d 4f 56 45 09 | 23 31 2c 2d 28 53 50 29 |d..MOVE.|#1,-(SP)|
|000021f0| 09 09 3b 72 6f 75 74 69 | 6e 65 20 73 65 6c 65 63 |..;routi|ne selec|
|00002200| 74 6f 72 0d 09 5f 50 61 | 63 6b 33 0d 09 4c 45 41 |tor.._Pa|ck3..LEA|
|00002210| 09 53 46 52 65 70 6c 79 | 2c 41 30 0d 09 54 53 54 |.SFReply|,A0..TST|
|00002220| 2e 42 09 28 41 30 29 09 | 09 3b 77 65 72 65 20 77 |.B.(A0).|.;were w|
|00002230| 65 20 73 75 63 63 65 73 | 73 66 75 6c 3f 0d 09 42 |e succes|sful?..B|
|00002240| 45 51 09 50 75 72 67 65 | 42 69 74 4d 61 70 09 3b |EQ.Purge|BitMap.;|
|00002250| 6e 6f 2e 2e 2e 0d 09 0d | 09 4c 45 41 09 49 4f 50 |no......|.LEA.IOP|
|00002260| 61 72 61 6d 2c 41 32 09 | 3b 70 74 72 20 74 6f 20 |aram,A2.|;ptr to |
|00002270| 50 61 72 61 6d 42 6c 6f | 63 6b 0d 09 43 4c 52 2e |ParamBlo|ck..CLR.|
|00002280| 4c 09 31 32 28 41 32 29 | 09 09 3b 6e 6f 20 63 6f |L.12(A2)|..;no co|
|00002290| 6d 70 6c 65 74 69 6f 6e | 0d 09 4c 45 41 09 46 69 |mpletion|..LEA.Fi|
|000022a0| 6c 65 4e 61 6d 65 2c 41 | 30 09 09 0d 09 4d 4f 56 |leName,A|0....MOV|
|000022b0| 45 2e 4c 09 41 30 2c 31 | 38 28 41 32 29 09 3b 66 |E.L.A0,1|8(A2).;f|
|000022c0| 69 6c 65 6e 61 6d 65 20 | 70 74 72 0d 09 4d 4f 56 |ilename |ptr..MOV|
|000022d0| 45 09 56 52 65 66 2c 32 | 32 28 41 32 29 09 3b 56 |E.VRef,2|2(A2).;V|
|000022e0| 72 65 66 4e 75 6d 0d 09 | 43 4c 52 2e 42 09 32 36 |refNum..|CLR.B.26|
|000022f0| 28 41 32 29 09 09 3b 76 | 65 72 73 20 23 0d 09 4d |(A2)..;v|ers #..M|
|00002300| 4f 56 45 2e 4c 09 41 32 | 2c 41 30 0d 09 5f 4d 61 |OVE.L.A2|,A0.._Ma|
|00002310| 6b 65 46 69 6c 65 09 09 | 3b 63 72 65 61 74 65 20 |keFile..|;create |
|00002320| 74 68 65 20 66 69 6c 65 | 0d 09 45 72 72 43 68 65 |the file|..ErrChe|
|00002330| 63 6b 09 09 09 3b 61 72 | 65 20 77 65 20 6f 6b 3f |ck...;ar|e we ok?|
|00002340| 0d 09 0d 09 4d 4f 56 45 | 2e 42 09 23 32 2c 32 37 |....MOVE|.B.#2,27|
|00002350| 28 41 32 29 09 3b 77 72 | 69 74 65 2d 6f 6e 6c 79 |(A2).;wr|ite-only|
|00002360| 20 61 63 63 65 73 73 0d | 09 4c 45 41 09 41 50 42 | access.|.LEA.APB|
|00002370| 75 66 66 65 72 2c 41 30 | 0d 09 4d 4f 56 45 2e 4c |uffer,A0|..MOVE.L|
|00002380| 09 41 30 2c 32 38 28 41 | 32 29 09 3b 61 63 63 65 |.A0,28(A|2).;acce|
|00002390| 73 73 20 70 61 74 68 20 | 62 75 66 66 65 72 0d 09 |ss path |buffer..|
|000023a0| 4d 4f 56 45 2e 4c 09 41 | 32 2c 41 30 0d 09 5f 4f |MOVE.L.A|2,A0.._O|
|000023b0| 70 65 6e 09 09 09 3b 6f | 70 65 6e 20 74 68 65 20 |pen...;o|pen the |
|000023c0| 66 69 6c 65 0d 09 45 72 | 72 43 68 65 63 6b 09 09 |file..Er|rCheck..|
|000023d0| 09 3b 6f 6b 3f 0d 09 0d | 09 4d 4f 56 45 2e 4c 09 |.;ok?...|.MOVE.L.|
|000023e0| 42 69 74 4d 61 70 4c 65 | 6e 2c 44 34 09 3b 67 65 |BitMapLe|n,D4.;ge|
|000023f0| 74 20 6c 65 6e 67 74 68 | 0d 09 4c 53 52 2e 4c 09 |t length|..LSR.L.|
|00002400| 23 33 2c 44 34 09 09 3b | 64 69 76 69 64 65 20 62 |#3,D4..;|divide b|
|00002410| 79 20 38 0d 09 4d 4f 56 | 45 2e 4c 09 42 69 74 4d |y 8..MOV|E.L.BitM|
|00002420| 61 70 50 74 72 2c 41 33 | 09 3b 67 65 74 20 70 74 |apPtr,A3|.;get pt|
|00002430| 72 20 74 6f 20 64 61 74 | 61 0d 44 6f 41 4c 69 6e |r to dat|a.DoALin|
|00002440| 65 3a 0d 09 4c 45 41 09 | 4c 69 6e 65 42 75 66 66 |e:..LEA.|LineBuff|
|00002450| 65 72 2c 41 31 0d 09 4d | 4f 56 45 09 23 37 2c 44 |er,A1..M|OVE.#7,D|
|00002460| 33 09 09 3b 38 20 62 79 | 74 65 73 20 70 65 72 20 |3..;8 by|tes per |
|00002470| 6c 69 6e 65 0d 09 4d 4f | 56 45 2e 4c 09 23 27 44 |line..MO|VE.L.#'D|
|00002480| 43 2e 42 27 2c 28 41 31 | 29 2b 09 3b 73 74 6f 72 |C.B',(A1|)+.;stor|
|00002490| 65 20 74 68 65 20 6c 69 | 6e 65 20 68 65 61 64 65 |e the li|ne heade|
|000024a0| 72 0d 09 4d 4f 56 45 2e | 42 09 23 27 20 27 2c 28 |r..MOVE.|B.#' ',(|
|000024b0| 41 31 29 2b 0d 40 31 09 | 4d 4f 56 45 2e 42 09 28 |A1)+.@1.|MOVE.B.(|
|000024c0| 41 33 29 2b 2c 44 30 09 | 3b 67 65 74 20 74 68 65 |A3)+,D0.|;get the|
|000024d0| 20 6e 65 78 74 20 62 79 | 74 65 20 6f 66 20 64 61 | next by|te of da|
|000024e0| 74 61 0d 09 42 53 52 09 | 48 65 78 54 6f 41 73 63 |ta..BSR.|HexToAsc|
|000024f0| 69 69 09 3b 63 6f 6e 76 | 65 72 74 20 69 74 0d 09 |ii.;conv|ert it..|
|00002500| 4d 4f 56 45 2e 42 09 23 | 27 24 27 2c 28 41 31 29 |MOVE.B.#|'$',(A1)|
|00002510| 2b 09 3b 73 74 6f 72 65 | 20 69 74 20 61 73 20 24 |+.;store| it as $|
|00002520| 78 78 0d 09 4d 4f 56 45 | 09 44 31 2c 28 41 31 29 |xx..MOVE|.D1,(A1)|
|00002530| 2b 0d 09 4d 4f 56 45 2e | 42 09 23 27 2c 27 2c 28 |+..MOVE.|B.#',',(|
|00002540| 41 31 29 2b 0d 09 44 42 | 52 41 09 44 33 2c 40 31 |A1)+..DB|RA.D3,@1|
|00002550| 09 09 3b 68 61 76 65 20 | 77 65 20 64 6f 6e 65 20 |..;have |we done |
|00002560| 37 20 62 79 74 65 73 3f | 0d 09 53 55 42 41 09 23 |7 bytes?|..SUBA.#|
|00002570| 31 2c 41 31 09 09 3b 79 | 65 73 2e 2e 2e 66 69 6e |1,A1..;y|es...fin|
|00002580| 69 73 68 20 74 68 65 20 | 6c 69 6e 65 0d 09 4d 4f |ish the |line..MO|
|00002590| 56 45 2e 4c 09 23 24 32 | 30 30 44 32 30 32 30 2c |VE.L.#$2|00D2020,|
|000025a0| 28 41 31 29 2b 0d 09 0d | 09 4c 45 41 09 4c 69 6e |(A1)+...|.LEA.Lin|
|000025b0| 65 42 75 66 66 65 72 2c | 41 30 09 3b 61 6e 64 20 |eBuffer,|A0.;and |
|000025c0| 77 72 69 74 65 20 69 74 | 20 74 6f 20 64 69 73 6b |write it| to disk|
|000025d0| 0d 09 4d 4f 56 45 2e 4c | 09 41 30 2c 33 32 28 41 |..MOVE.L|.A0,32(A|
|000025e0| 32 29 09 3b 70 74 72 20 | 74 6f 20 6f 75 72 20 6c |2).;ptr |to our l|
|000025f0| 69 6e 65 20 6f 66 20 74 | 65 78 74 0d 09 4d 4f 56 |ine of t|ext..MOV|
|00002600| 45 2e 4c 09 23 33 38 2c | 33 36 28 41 32 29 09 3b |E.L.#38,|36(A2).;|
|00002610| 77 72 69 74 65 20 33 38 | 20 62 79 74 65 73 0d 09 |write 38| bytes..|
|00002620| 43 4c 52 09 34 34 28 41 | 32 29 09 09 3b 73 74 61 |CLR.44(A|2)..;sta|
|00002630| 6e 64 61 72 64 20 70 6f | 73 69 74 69 6f 6e 69 6e |ndard po|sitionin|
|00002640| 67 0d 09 43 4c 52 2e 4c | 09 34 36 28 41 32 29 0d |g..CLR.L|.46(A2).|
|00002650| 09 4d 4f 56 45 2e 4c 09 | 41 32 2c 41 30 0d 09 5f |.MOVE.L.|A2,A0.._|
|00002660| 57 72 69 74 65 09 09 09 | 3b 77 72 69 74 65 20 69 |Write...|;write i|
|00002670| 74 0d 09 45 72 72 43 68 | 65 63 6b 0d 09 44 42 52 |t..ErrCh|eck..DBR|
|00002680| 41 09 44 34 2c 44 6f 41 | 4c 69 6e 65 09 3b 61 72 |A.D4,DoA|Line.;ar|
|00002690| 65 20 77 65 20 64 6f 6e | 65 3f 0d 09 09 09 09 3b |e we don|e?.....;|
|000026a0| 79 65 73 2e 2e 2e 66 69 | 6e 69 73 68 20 69 74 20 |yes...fi|nish it |
|000026b0| 6f 66 66 0d 09 43 4c 52 | 09 32 38 28 41 32 29 0d |off..CLR|.28(A2).|
|000026c0| 09 4d 4f 56 45 2e 4c 09 | 41 32 2c 41 30 0d 09 5f |.MOVE.L.|A2,A0.._|
|000026d0| 47 65 74 46 69 6c 65 49 | 6e 66 6f 0d 09 45 72 72 |GetFileI|nfo..Err|
|000026e0| 43 68 65 63 6b 0d 09 0d | 09 4d 4f 56 45 2e 4c 09 |Check...|.MOVE.L.|
|000026f0| 23 27 54 45 58 54 27 2c | 33 32 28 41 32 29 09 3b |#'TEXT',|32(A2).;|
|00002700| 73 65 74 20 74 68 65 20 | 66 69 6c 65 74 79 70 65 |set the |filetype|
|00002710| 0d 09 4d 4f 56 45 2e 4c | 09 23 27 45 44 49 54 27 |..MOVE.L|.#'EDIT'|
|00002720| 2c 33 36 28 41 32 29 09 | 3b 61 6e 64 20 74 68 65 |,36(A2).|;and the|
|00002730| 20 63 72 65 61 74 6f 72 | 0d 09 4d 4f 56 45 2e 4c | creator|..MOVE.L|
|00002740| 09 41 32 2c 41 30 0d 09 | 5f 53 65 74 46 69 6c 65 |.A2,A0..|_SetFile|
|00002750| 49 6e 66 6f 0d 09 45 72 | 72 43 68 65 63 6b 0d 09 |Info..Er|rCheck..|
|00002760| 4d 4f 56 45 2e 4c 09 41 | 32 2c 41 30 09 09 3b 63 |MOVE.L.A|2,A0..;c|
|00002770| 6c 6f 73 65 20 74 68 65 | 20 66 69 6c 65 0d 09 5f |lose the| file.._|
|00002780| 43 6c 6f 73 65 0d 09 45 | 72 72 43 68 65 63 6b 0d |Close..E|rrCheck.|
|00002790| 09 4d 4f 56 45 2e 4c 09 | 41 32 2c 41 30 09 09 3b |.MOVE.L.|A2,A0..;|
|000027a0| 66 6c 75 73 68 20 6f 75 | 74 20 61 6e 79 20 62 75 |flush ou|t any bu|
|000027b0| 66 66 65 72 73 0d 09 5f | 46 6c 75 73 68 56 6f 6c |ffers.._|FlushVol|
|000027c0| 0d 09 45 72 72 43 68 65 | 63 6b 0d 09 0d 50 75 72 |..ErrChe|ck...Pur|
|000027d0| 67 65 42 69 74 4d 61 70 | 3a 0d 09 4c 45 41 09 42 |geBitMap|:..LEA.B|
|000027e0| 69 74 4d 61 70 50 74 72 | 2c 41 30 09 3b 67 65 74 |itMapPtr|,A0.;get|
|000027f0| 20 70 74 72 0d 09 4d 4f | 56 45 2e 4c 09 28 41 30 | ptr..MO|VE.L.(A0|
|00002800| 29 2c 41 30 0d 09 5f 44 | 69 73 70 6f 73 50 74 72 |),A0.._D|isposPtr|
|00002810| 09 09 3b 72 65 6c 65 61 | 73 65 20 74 68 65 20 62 |..;relea|se the b|
|00002820| 6c 6f 63 6b 0d 53 74 65 | 61 6c 45 78 69 74 3a 0d |lock.Ste|alExit:.|
|00002830| 09 4d 4f 56 45 2e 4c 09 | 74 68 65 50 6f 72 74 2c |.MOVE.L.|thePort,|
|00002840| 2d 28 53 50 29 09 3b 72 | 65 73 74 6f 72 65 20 74 |-(SP).;r|estore t|
|00002850| 68 65 20 67 72 61 66 50 | 6f 72 74 0d 09 5f 53 65 |he grafP|ort.._Se|
|00002860| 74 50 6f 72 74 0d 09 5f | 53 68 6f 77 43 75 72 73 |tPort.._|ShowCurs|
|00002870| 6f 72 0d 09 43 4c 52 09 | 2d 28 53 50 29 09 09 3b |or..CLR.|-(SP)..;|
|00002880| 75 6e 48 69 4c 69 67 68 | 74 20 74 68 65 20 6d 65 |unHiLigh|t the me|
|00002890| 6e 75 0d 09 5f 48 69 6c | 69 74 65 4d 65 6e 75 0d |nu.._Hil|iteMenu.|
|000028a0| 09 42 52 41 09 43 74 6c | 44 6f 6e 65 0d 09 0d 49 |.BRA.Ctl|Done...I|
|000028b0| 74 73 51 75 69 74 3a 0d | 09 4c 45 41 09 4d 65 6e |tsQuit:.|.LEA.Men|
|000028c0| 75 49 44 2c 41 31 0d 09 | 4d 4f 56 45 09 28 41 31 |uID,A1..|MOVE.(A1|
|000028d0| 29 2c 2d 28 53 50 29 09 | 09 3b 72 65 6d 6f 76 65 |),-(SP).|.;remove|
|000028e0| 20 74 68 65 20 6d 65 6e | 75 20 66 72 6f 6d 20 74 | the men|u from t|
|000028f0| 68 65 20 6c 69 73 74 0d | 09 5f 44 65 6c 65 74 65 |he list.|._Delete|
|00002900| 4d 65 6e 75 0d 09 6d 6f | 76 65 2e 6c 09 44 43 74 |Menu..mo|ve.l.DCt|
|00002910| 6c 53 74 6f 72 61 67 65 | 28 41 34 29 2c 2d 28 53 |lStorage|(A4),-(S|
|00002920| 50 29 09 3b 70 75 73 68 | 20 74 68 65 20 68 61 6e |P).;push| the han|
|00002930| 64 6c 65 0d 09 5f 44 69 | 73 70 6f 73 4d 65 6e 75 |dle.._Di|sposMenu|
|00002940| 09 09 09 3b 66 72 65 65 | 20 75 70 20 74 68 65 20 |...;free| up the |
|00002950| 6d 65 6d 6f 72 79 0d 09 | 5f 44 72 61 77 4d 65 6e |memory..|_DrawMen|
|00002960| 75 42 61 72 0d 09 63 6c | 72 2e 6c 09 44 43 74 6c |uBar..cl|r.l.DCtl|
|00002970| 53 74 6f 72 61 67 65 28 | 41 34 29 09 09 3b 6e 6f |Storage(|A4)..;no|
|00002980| 20 6c 6f 6e 67 65 72 20 | 68 61 76 65 20 61 20 77 | longer |have a w|
|00002990| 69 6e 64 6f 77 2e 0d 09 | 4d 4f 56 45 4d 2e 4c 20 |indow...|MOVEM.L |
|000029a0| 28 53 50 29 2b 2c 41 30 | 2d 41 36 2f 44 30 2d 44 |(SP)+,A0|-A6/D0-D|
|000029b0| 37 09 3b 72 65 73 74 6f | 72 65 20 72 65 67 73 0d |7.;resto|re regs.|
|000029c0| 09 4d 4f 56 45 51 09 23 | 30 2c 44 30 0d 09 52 54 |.MOVEQ.#|0,D0..RT|
|000029d0| 53 0d 0d 3b 20 20 48 65 | 78 54 6f 41 73 63 69 69 |S..; He|xToAscii|
|000029e0| 20 72 6f 75 74 69 6e 65 | 20 2d 3e 20 63 6f 6e 76 | routine| -> conv|
|000029f0| 65 72 74 73 20 61 20 68 | 65 78 20 62 79 74 65 20 |erts a h|ex byte |
|00002a00| 74 6f 20 61 6e 20 41 53 | 43 49 49 20 77 6f 72 64 |to an AS|CII word|
|00002a10| 0d 3b 0d 3b 09 6f 6e 20 | 65 6e 74 72 79 3a 0d 3b |.;.;.on |entry:.;|
|00002a20| 09 09 44 30 20 3d 20 48 | 65 78 20 62 79 74 65 20 |..D0 = H|ex byte |
|00002a30| 74 6f 20 62 65 20 63 6f | 6e 76 65 72 74 65 64 0d |to be co|nverted.|
|00002a40| 3b 0d 3b 09 6f 6e 20 72 | 65 74 75 72 6e 3a 0d 3b |;.;.on r|eturn:.;|
|00002a50| 09 09 44 31 20 3d 20 41 | 53 43 49 49 20 77 6f 72 |..D1 = A|SCII wor|
|00002a60| 64 20 72 65 73 75 6c 74 | 0d 3b 0d 3b 09 75 73 65 |d result|.;.;.use|
|00002a70| 73 20 44 30 2c 44 31 2c | 44 34 2c 41 30 0d 0d 48 |s D0,D1,|D4,A0..H|
|00002a80| 65 78 54 6f 41 73 63 69 | 69 3a 0d 09 4d 4f 56 45 |exToAsci|i:..MOVE|
|00002a90| 2e 42 09 44 30 2c 44 32 | 09 09 3b 73 61 76 65 20 |.B.D0,D2|..;save |
|00002aa0| 63 6f 70 79 20 6f 66 20 | 62 79 74 65 0d 09 4c 53 |copy of |byte..LS|
|00002ab0| 52 09 23 34 2c 44 30 09 | 09 3b 47 65 74 20 74 68 |R.#4,D0.|.;Get th|
|00002ac0| 65 20 68 69 67 68 20 6e | 69 62 62 6c 65 0d 09 41 |e high n|ibble..A|
|00002ad0| 4e 44 49 09 23 24 30 46 | 2c 44 30 09 09 3b 6d 61 |NDI.#$0F|,D0..;ma|
|00002ae0| 73 6b 20 6f 75 74 20 61 | 6c 6c 20 65 78 74 72 61 |sk out a|ll extra|
|00002af0| 6e 65 6f 75 73 20 62 69 | 74 73 0d 09 4c 45 41 09 |neous bi|ts..LEA.|
|00002b00| 42 79 74 65 54 61 62 6c | 65 2c 41 30 09 3b 47 65 |ByteTabl|e,A0.;Ge|
|00002b10| 74 20 62 61 73 65 20 61 | 64 64 72 65 73 73 20 6f |t base a|ddress o|
|00002b20| 66 20 74 61 62 6c 65 0d | 09 4d 4f 56 45 2e 42 09 |f table.|.MOVE.B.|
|00002b30| 28 41 30 2c 44 30 29 2c | 44 31 09 3b 4d 6f 76 65 |(A0,D0),|D1.;Move|
|00002b40| 20 31 73 74 20 61 73 63 | 69 69 20 62 79 74 65 20 | 1st asc|ii byte |
|00002b50| 69 6e 74 6f 20 44 31 0d | 09 41 53 4c 09 23 38 2c |into D1.|.ASL.#8,|
|00002b60| 44 31 09 09 3b 6d 6f 76 | 65 20 20 62 79 74 65 20 |D1..;mov|e byte |
|00002b70| 74 6f 20 74 68 65 20 70 | 72 6f 70 65 72 20 70 6f |to the p|roper po|
|00002b80| 73 69 74 69 6f 6e 0d 09 | 41 4e 44 49 09 23 24 30 |sition..|ANDI.#$0|
|00002b90| 46 2c 44 32 09 09 3b 67 | 65 74 20 74 68 65 20 6c |F,D2..;g|et the l|
|00002ba0| 6f 77 20 6e 69 62 62 6c | 65 0d 09 4d 4f 56 45 2e |ow nibbl|e..MOVE.|
|00002bb0| 42 09 28 41 30 2c 44 32 | 29 2c 44 30 09 3b 47 65 |B.(A0,D2|),D0.;Ge|
|00002bc0| 74 20 32 6e 64 20 61 73 | 63 69 69 20 62 79 74 65 |t 2nd as|cii byte|
|00002bd0| 0d 09 4f 52 2e 57 09 44 | 30 2c 44 31 09 09 3b 73 |..OR.W.D|0,D1..;s|
|00002be0| 74 6f 72 65 20 32 6e 64 | 20 62 79 74 65 20 69 6e |tore 2nd| byte in|
|00002bf0| 20 77 6f 72 64 0d 09 52 | 54 53 0d 09 0d 42 79 74 | word..R|TS...Byt|
|00002c00| 65 54 61 62 6c 65 3a 0d | 09 44 43 2e 42 09 27 30 |eTable:.|.DC.B.'0|
|00002c10| 31 32 33 34 35 36 37 38 | 39 41 42 43 44 45 46 27 |12345678|9ABCDEF'|
|00002c20| 0d 0d 49 4f 45 72 72 3a | 09 0d 09 4d 4f 56 45 09 |..IOErr:|...MOVE.|
|00002c30| 44 30 2c 44 36 09 09 3b | 67 65 74 20 61 20 63 6f |D0,D6..;|get a co|
|00002c40| 70 79 20 6f 66 20 74 68 | 65 20 65 72 72 6f 72 20 |py of th|e error |
|00002c50| 63 6f 64 65 0d 09 43 4c | 52 2e 4c 09 2d 28 53 50 |code..CL|R.L.-(SP|
|00002c60| 29 09 09 3b 72 6f 6f 6d | 20 66 6f 72 20 57 69 6e |)..;room| for Win|
|00002c70| 64 6f 77 50 74 72 0d 09 | 43 4c 52 2e 4c 09 2d 28 |dowPtr..|CLR.L.-(|
|00002c80| 53 50 29 09 09 3b 61 6c | 6c 6f 63 61 74 65 20 73 |SP)..;al|locate s|
|00002c90| 74 6f 72 61 67 65 20 69 | 6e 20 68 65 61 70 0d 09 |torage i|n heap..|
|00002ca0| 50 45 41 09 45 72 72 6f | 72 52 65 63 74 09 3b 62 |PEA.Erro|rRect.;b|
|00002cb0| 6f 75 6e 64 73 0d 09 50 | 45 41 09 27 54 69 74 6c |ounds..P|EA.'Titl|
|00002cc0| 65 3f 27 09 09 3b 74 69 | 74 6c 65 2e 2e 75 6e 75 |e?'..;ti|tle..unu|
|00002cd0| 73 65 64 0d 09 4d 4f 56 | 45 09 23 24 30 31 30 31 |sed..MOV|E.#$0101|
|00002ce0| 2c 2d 28 53 50 29 09 3b | 76 69 73 69 62 6c 65 0d |,-(SP).;|visible.|
|00002cf0| 09 4d 4f 56 45 09 23 31 | 2c 2d 28 53 50 29 09 09 |.MOVE.#1|,-(SP)..|
|00002d00| 3b 64 69 61 6c 6f 67 2d | 73 74 79 6c 65 20 77 69 |;dialog-|style wi|
|00002d10| 6e 64 6f 77 0d 09 4d 4f | 56 45 2e 4c 09 23 2d 31 |ndow..MO|VE.L.#-1|
|00002d20| 2c 2d 28 53 50 29 09 3b | 70 75 74 20 69 74 20 69 |,-(SP).;|put it i|
|00002d30| 6e 20 66 72 6f 6e 74 0d | 09 43 4c 52 09 2d 28 53 |n front.|.CLR.-(S|
|00002d40| 50 29 09 09 3b 6e 6f 47 | 6f 41 77 61 79 0d 09 43 |P)..;noG|oAway..C|
|00002d50| 4c 52 2e 4c 09 2d 28 53 | 50 29 09 09 3b 72 65 66 |LR.L.-(S|P)..;ref|
|00002d60| 63 6f 6e 0d 09 5f 4e 65 | 77 57 69 6e 64 6f 77 0d |con.._Ne|wWindow.|
|00002d70| 09 4d 4f 56 45 2e 4c 09 | 28 53 50 29 2b 2c 41 32 |.MOVE.L.|(SP)+,A2|
|00002d80| 09 3b 73 61 76 65 20 77 | 69 6e 64 6f 77 50 74 72 |.;save w|indowPtr|
|00002d90| 0d 09 50 45 41 09 74 68 | 65 50 6f 72 74 09 09 3b |..PEA.th|ePort..;|
|00002da0| 56 41 52 20 74 68 65 50 | 6f 72 74 0d 09 5f 47 65 |VAR theP|ort.._Ge|
|00002db0| 74 50 6f 72 74 09 09 09 | 3b 73 61 76 65 20 63 75 |tPort...|;save cu|
|00002dc0| 72 72 65 6e 74 20 67 72 | 61 66 70 6f 72 74 0d 09 |rrent gr|afport..|
|00002dd0| 4d 4f 56 45 2e 4c 09 41 | 32 2c 2d 28 53 50 29 09 |MOVE.L.A|2,-(SP).|
|00002de0| 3b 6d 61 6b 65 20 68 65 | 6c 70 20 77 69 6e 64 6f |;make he|lp windo|
|00002df0| 77 20 63 75 72 72 65 6e | 74 20 70 6f 72 74 0d 09 |w curren|t port..|
|00002e00| 5f 53 65 74 50 6f 72 74 | 0d 0d 09 4d 4f 56 45 09 |_SetPort|...MOVE.|
|00002e10| 23 43 68 69 63 61 67 6f | 2c 2d 28 53 50 29 09 3b |#Chicago|,-(SP).;|
|00002e20| 73 65 74 20 66 6f 6e 74 | 0d 09 5f 54 65 78 74 46 |set font|.._TextF|
|00002e30| 6f 6e 74 0d 09 4d 4f 56 | 45 09 23 31 32 2c 2d 28 |ont..MOV|E.#12,-(|
|00002e40| 53 50 29 09 09 3b 31 32 | 20 70 6f 69 6e 74 0d 09 |SP)..;12| point..|
|00002e50| 5f 54 65 78 74 53 69 7a | 65 0d 09 43 65 6e 74 65 |_TextSiz|e..Cente|
|00002e60| 72 09 54 68 61 74 20 6f | 70 65 72 61 74 69 6f 6e |r.That o|peration|
|00002e70| 20 77 61 73 20 69 6e 74 | 65 72 72 75 70 74 65 64 | was int|errupted|
|00002e80| 20 62 79 20 61 6e 2c 31 | 35 38 2c 33 30 0d 09 43 | by an,1|58,30..C|
|00002e90| 65 6e 74 65 72 09 49 2f | 4f 20 65 72 72 6f 72 2e |enter.I/|O error.|
|00002ea0| 20 20 4d 61 6b 65 20 73 | 75 72 65 20 74 68 61 74 | Make s|ure that|
|00002eb0| 20 79 6f 75 72 20 64 69 | 73 6b 20 69 73 2c 31 35 | your di|sk is,15|
|00002ec0| 38 2c 34 33 0d 09 43 65 | 6e 74 65 72 09 6e 6f 74 |8,43..Ce|nter.not|
|00002ed0| 20 77 72 69 74 65 2d 70 | 72 6f 74 65 63 74 65 64 | write-p|rotected|
|00002ee0| 2e 2c 31 35 38 2c 35 36 | 0d 09 4d 4f 56 45 2e 4c |.,158,56|..MOVE.L|
|00002ef0| 09 23 31 35 38 2c 44 34 | 09 09 3b 6d 69 64 50 6f |.#158,D4|..;midPo|
|00002f00| 69 6e 74 0d 09 4d 4f 56 | 45 09 23 37 35 2c 44 35 |int..MOV|E.#75,D5|
|00002f10| 09 09 3b 59 20 63 6f 6f | 72 64 69 6e 61 74 65 0d |..;Y coo|rdinate.|
|00002f20| 09 4c 45 41 09 45 72 72 | 53 74 72 69 6e 67 2c 41 |.LEA.Err|String,A|
|00002f30| 30 09 3b 73 74 72 69 6e | 67 50 74 72 0d 09 4d 4f |0.;strin|gPtr..MO|
|00002f40| 56 45 09 44 36 2c 44 30 | 09 09 3b 67 65 74 20 74 |VE.D6,D0|..;get t|
|00002f50| 68 65 20 65 72 72 6f 72 | 20 63 6f 64 65 20 69 6e |he error| code in|
|00002f60| 20 44 30 0d 09 45 58 54 | 2e 4c 09 44 30 09 09 3b | D0..EXT|.L.D0..;|
|00002f70| 65 78 74 65 6e 64 20 74 | 6f 20 33 32 20 62 69 74 |extend t|o 32 bit|
|00002f80| 20 70 72 65 63 69 73 69 | 6f 6e 0d 09 4d 4f 56 45 | precisi|on..MOVE|
|00002f90| 09 23 30 2c 2d 28 53 50 | 29 09 3b 72 6f 75 74 69 |.#0,-(SP|).;routi|
|00002fa0| 6e 65 20 73 65 6c 65 63 | 74 6f 72 20 66 6f 72 20 |ne selec|tor for |
|00002fb0| 6e 75 6d 74 6f 73 74 72 | 69 6e 67 0d 09 5f 50 61 |numtostr|ing.._Pa|
|00002fc0| 63 6b 37 0d 09 4d 4f 56 | 45 2e 4c 09 41 30 2c 41 |ck7..MOV|E.L.A0,A|
|00002fd0| 33 0d 09 42 53 52 09 43 | 65 6e 74 65 72 54 65 78 |3..BSR.C|enterTex|
|00002fe0| 74 09 3b 64 69 73 70 6c | 61 79 20 74 68 65 20 65 |t.;displ|ay the e|
|00002ff0| 72 72 6f 72 20 63 6f 64 | 65 0d 40 31 09 43 4c 52 |rror cod|e.@1.CLR|
|00003000| 09 2d 28 53 50 29 09 09 | 3b 77 61 69 74 20 66 6f |.-(SP)..|;wait fo|
|00003010| 72 20 61 20 62 75 74 74 | 6f 6e 20 70 72 65 73 73 |r a butt|on press|
|00003020| 0d 09 5f 42 75 74 74 6f | 6e 0d 09 4d 4f 56 45 09 |.._Butto|n..MOVE.|
|00003030| 28 53 50 29 2b 2c 44 30 | 0d 09 42 45 51 09 40 31 |(SP)+,D0|..BEQ.@1|
|00003040| 0d 09 4d 4f 56 45 2e 4c | 09 74 68 65 50 6f 72 74 |..MOVE.L|.thePort|
|00003050| 2c 2d 28 53 50 29 09 3b | 72 65 73 74 6f 72 65 20 |,-(SP).;|restore |
|00003060| 74 68 65 20 6f 6c 64 20 | 67 72 61 66 70 6f 72 74 |the old |grafport|
|00003070| 0d 09 5f 53 65 74 50 6f | 72 74 0d 09 4d 4f 56 45 |.._SetPo|rt..MOVE|
|00003080| 2e 4c 09 41 32 2c 2d 28 | 53 50 29 09 3b 6c 6f 73 |.L.A2,-(|SP).;los|
|00003090| 65 20 74 68 65 20 77 69 | 6e 64 6f 77 20 61 6e 64 |e the wi|ndow and|
|000030a0| 20 66 72 65 65 0d 09 5f | 44 69 73 70 6f 73 57 69 | free.._|DisposWi|
|000030b0| 6e 64 6f 77 09 09 3b 75 | 70 20 69 74 27 73 20 6d |ndow..;u|p it's m|
|000030c0| 65 6d 6f 72 79 0d 09 42 | 52 41 09 50 75 72 67 65 |emory..B|RA.Purge|
|000030d0| 42 69 74 4d 61 70 09 3b | 63 6c 65 61 6e 20 75 70 |BitMap.;|clean up|
|000030e0| 20 61 6e 64 20 65 78 69 | 74 0d 0d 09 0d 43 68 65 | and exi|t....Che|
|000030f0| 63 6b 4d 61 72 6b 09 44 | 43 2e 57 09 30 09 3b 64 |ckMark.D|C.W.0.;d|
|00003100| 65 74 65 72 6d 69 6e 65 | 20 69 66 20 69 74 65 6d |etermine| if item|
|00003110| 20 69 73 20 63 68 65 63 | 6b 65 64 0d 53 74 61 72 | is chec|ked.Star|
|00003120| 74 50 6f 69 6e 74 09 44 | 43 2e 4c 09 30 09 3b 74 |tPoint.D|C.L.0.;t|
|00003130| 6f 70 4c 65 66 74 20 6f | 66 20 72 65 63 74 61 6e |opLeft o|f rectan|
|00003140| 67 6c 65 0d 45 6e 64 50 | 6f 69 6e 74 09 44 43 2e |gle.EndP|oint.DC.|
|00003150| 4c 09 30 09 3b 62 6f 74 | 74 6f 6d 52 69 67 68 74 |L.0.;bot|tomRight|
|00003160| 0d 4e 65 77 50 6f 69 6e | 74 09 44 43 2e 4c 09 30 |.NewPoin|t.DC.L.0|
|00003170| 2c 30 09 3b 74 65 6d 70 | 20 73 74 6f 72 61 67 65 |,0.;temp| storage|
|00003180| 20 6f 66 20 70 6f 69 6e | 74 73 20 26 20 72 65 63 | of poin|ts & rec|
|00003190| 74 73 0d 42 69 74 4d 61 | 70 50 74 72 09 44 43 2e |ts.BitMa|pPtr.DC.|
|000031a0| 4c 09 30 09 3b 70 6f 69 | 6e 74 65 72 20 74 6f 20 |L.0.;poi|nter to |
|000031b0| 62 69 74 4d 61 70 20 6d | 65 6d 20 62 6c 6f 63 6b |bitMap m|em block|
|000031c0| 0d 42 69 74 4d 61 70 4c | 65 6e 09 44 43 2e 4c 09 |.BitMapL|en.DC.L.|
|000031d0| 30 09 3b 6c 65 6e 67 74 | 68 20 6f 66 20 62 69 74 |0.;lengt|h of bit|
|000031e0| 4d 61 70 20 6d 65 6d 20 | 62 6c 6f 63 6b 0d 74 68 |Map mem |block.th|
|000031f0| 65 50 6f 72 74 09 09 44 | 43 2e 4c 09 30 09 3b 74 |ePort..D|C.L.0.;t|
|00003200| 65 6d 70 20 73 74 6f 72 | 61 67 65 20 66 6f 72 20 |emp stor|age for |
|00003210| 67 72 61 66 50 74 72 0d | 0d 57 69 6e 64 6f 77 52 |grafPtr.|.WindowR|
|00003220| 65 63 74 09 44 43 2e 57 | 09 36 30 2c 37 38 2c 32 |ect.DC.W|.60,78,2|
|00003230| 32 30 2c 34 33 34 0d 45 | 72 72 6f 72 52 65 63 74 |20,434.E|rrorRect|
|00003240| 09 44 43 2e 57 09 31 30 | 30 2c 39 38 2c 31 38 35 |.DC.W.10|0,98,185|
|00003250| 2c 34 31 34 0d 0d 49 4f | 50 61 72 61 6d 09 09 44 |,414..IO|Param..D|
|00003260| 43 42 2e 57 09 34 30 2c | 30 09 3b 49 4f 20 50 61 |CB.W.40,|0.;IO Pa|
|00003270| 72 61 6d 42 6c 6f 63 6b | 0d 0d 53 46 52 65 70 6c |ramBlock|..SFRepl|
|00003280| 79 09 09 44 43 2e 57 09 | 30 09 3b 53 74 61 6e 64 |y..DC.W.|0.;Stand|
|00003290| 61 72 64 20 66 69 6c 65 | 20 72 65 70 6c 79 20 72 |ard file| reply r|
|000032a0| 65 63 6f 72 64 0d 09 09 | 44 43 2e 4c 09 27 3f 3f |ecord...|DC.L.'??|
|000032b0| 3f 3f 27 0d 56 52 65 66 | 09 09 44 43 2e 57 09 30 |??'.VRef|..DC.W.0|
|000032c0| 0d 56 65 72 73 09 09 44 | 43 2e 57 09 30 0d 46 69 |.Vers..D|C.W.0.Fi|
|000032d0| 6c 65 4e 61 6d 65 09 44 | 43 42 2e 42 09 36 34 2c |leName.D|CB.B.64,|
|000032e0| 30 0d 0d 41 50 42 75 66 | 66 65 72 09 44 43 42 2e |0..APBuf|fer.DCB.|
|000032f0| 42 09 35 32 32 2c 30 09 | 3b 61 63 63 65 73 73 20 |B.522,0.|;access |
|00003300| 70 61 74 68 20 62 75 66 | 66 65 72 0d 4c 69 6e 65 |path buf|fer.Line|
|00003310| 42 75 66 66 65 72 09 44 | 43 42 2e 42 09 34 34 2c |Buffer.D|CB.B.44,|
|00003320| 30 09 3b 62 75 66 66 65 | 72 20 66 6f 72 20 54 45 |0.;buffe|r for TE|
|00003330| 58 54 20 6c 69 6e 65 20 | 0d 45 72 72 53 74 72 69 |XT line |.ErrStri|
|00003340| 6e 67 09 44 43 42 2e 42 | 09 38 2c 30 09 3b 73 74 |ng.DCB.B|.8,0.;st|
|00003350| 6f 72 61 67 65 20 66 6f | 72 20 73 74 72 69 6e 67 |orage fo|r string|
|00003360| 20 20 6f 66 20 65 72 72 | 6f 72 63 6f 64 65 0d 0d | of err|orcode..|
|00003370| 09 45 4e 44 0d 0d 0d 00 | 00 00 00 00 00 00 00 00 |.END....|........|
|00003380| 00 00 01 00 00 00 01 16 | 00 00 00 16 00 00 00 46 |........|.......F|
|00003390| 49 4f 50 61 72 61 6d 09 | 44 43 42 2e 57 09 34 30 |IOParam.|DCB.W.40|
|000033a0| 2c 30 09 3b 49 4f 20 50 | 61 72 61 6d 42 6c 6f 63 |,0.;IO P|aramBloc|
|000033b0| 0d 62 69 74 6e 61 70 70 | 65 72 2e 61 73 6d 02 00 |.bitnapp|er.asm..|
|000033c0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 07 00 06 |..TEXTED|IT......|
|000033d0| 00 00 54 45 58 54 45 44 | 49 54 01 00 00 07 00 06 |..TEXTED|IT......|
|000033e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000033f0| 00 00 9a cb c0 65 00 00 | 32 f7 00 00 01 5c 9f 3b |.....e..|2....\.;|
|00003400| 91 21 4f 6d 73 10 7d 07 | 21 f6 d0 78 0c b1 cf 6b |.!Oms.}.|!..x...k|
|00003410| 19 f0 d0 00 00 06 00 00 | 09 00 00 15 00 32 f0 9f |........|.....2..|
|00003420| 4d f4 ff 56 f4 5f 09 f2 | 3f 30 f2 cf 2d f2 8f 53 |M..V._..|?0..-..S|
|00003430| f5 0f 29 f0 9f 09 f3 b4 | 5f 75 27 31 08 1a 1c 25 |..).....|_u'1...%|
|00003440| 40 d5 40 3f 75 f6 d2 58 | 24 73 f6 7f 0d 00 00 06 |@.@?u..X|$s......|
|00003450| 00 00 09 00 00 15 00 1b | 09 4d 4f 56 45 09 23 31 |........|.MOVE.#1|
|00003460| 32 2c 2d 28 53 50 29 09 | 09 3b 31 32 20 70 6f 69 |2,-(SP).|.;12 poi|
|00003470| 6e 74 0d 0d 00 06 00 00 | 09 00 00 15 00 30 09 4d |nt......|.....0.M|
|00003480| 00 00 00 0a 00 09 06 4d | 6f 6e 61 63 6f 12 00 00 |.......M|onaco...|
|00003490| 00 04 00 06 00 08 00 00 | 01 00 00 00 01 16 00 00 |........|........|
|000034a0| 00 16 00 00 00 46 00 00 | cc 24 03 50 00 00 00 1c |.....F..|.$.P....|
|000034b0| 00 46 00 01 45 46 4e 54 | 00 00 00 12 45 54 41 42 |.F..EFNT|....ETAB|
|000034c0| 00 00 00 1e 03 eb ff ff | 00 00 00 00 00 01 6e 80 |........|......n.|
|000034d0| 03 ec ff ff 00 00 00 0e | 00 01 6e 78 00 00 00 00 |........|..nx....|
|000034e0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
|000034f0| 00 00 00 00 00 00 00 00 | 00 00 00 00 00 00 00 00 |........|........|
+--------+-------------------------+-------------------------+--------+--------+